十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家分享的是有关Angularjs中事件指令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联建站-专业网站定制、快速模板网站建设、高性价比札达网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式札达网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖札达地区。费用合理售后完善,10多年实体公司更值得信赖。
ngClick
适用标签:所有
触发条件:单击
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.click = function () { alert('click'); } });click me
ngDblclick
适用标签:所有
触发条件:双击
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.dblclick = function () { alert('click'); } });click me
ngBlur
适用标签:
a
input
select
textarea
触发条件:失去焦点
#html #script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.blur = function () { alert('blur'); } });
ngFocus
适用标签:
a
input
select
textarea
触发条件:获取焦点
#html #script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.focus= function () { alert('focus'); } });
ngChange
适用标签:input
触发条件:model更新
输入框的内容改变并不代表model的值更新。按我的理解,一般当两个状态互相切换时,model值会更新。两个状态我称之为合法状态和不合法状态。
不合法的状态:输入的内容不符合type类型,如email类型。输入的内容不符合校验条件,如ngMinlength。不合法的状态下,model会被更新成undefined。
合法的状态:输入的内容是符合类型和校验条件的。
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { //$scope.text=''; $scope.change = function () { alert('change'); } });
初始化和不初始化text的条件下,change触发是不一样的哦,这里涉及到model初始化和更新机制。
ngCopy
适用标签:
a
input
select
textarea
官方api上说使用的标签是这些,我没明白a和select复制有啥子用。另外,我换个div实际上也能触发copy事件。一般常用的就是input和textarea。
触发条件:复制。鼠标右键复制和快捷键Ctrl+C都会触发。
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.copy = function () { alert('copy'); } });
ngCut
适用标签:
a
input
select
textarea
触发条件:剪切。鼠标右键剪切和快捷键Ctrl+X都会触发。
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.cut = function () { alert('cut'); } });
ngPaste
适用标签:
a input select textarea
触发条件:粘贴。鼠标右键粘贴和快捷键Ctrl+V都会触发。
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.paste = function () { alert('paste'); } });
ngKeydown
适用标签:所有
个人感觉还是input和textarea比较常用
触发条件:键盘按键按下
要把$event传过去,一般都是要判断按了哪个按键的。
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.keydown = function ($event) { alert($event.keyCode); } });
ngKeyup
适用标签:所有
个人感觉还是input和textarea比较常用
触发条件:键盘按键按下并松开
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.keyup = function ($event) { alert($event.keyCode); } });
ngKeypress
适用标签:所有
个人感觉还是input和textarea比较常用
触发条件:键盘按键按下
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.keypress = function ($event) { alert($event.keyCode); } });
keydown,keypress,keydown三者区别
引发事件的按键
非字符键不会引发 KeyPress 事件,但非字符键却可以引发 KeyDown 和 KeyUp 事件。
事件引发的时间
KeyDown 和 KeyPress 事件在按下键时发生,KeyUp 事件在释放键时发生。
事件发生的顺序
KeyDown -> KeyPress -> KeyUp。如果按一个键很久才松开,发生的事件为:KeyDown -> KeyPress -> KeyDown -> KeyPress -> KeyDown -> KeyPress -> ... -> KeyUp。
KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。
KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符。
KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)。
KeyPress 只能捕获单个字符。
KeyDown 和KeyUp 可以捕获组合键。
KeyPress 可以捕获单个字符的大小写。
KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。
KeyPress 不区分小键盘和主键盘的数字字符。
KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。
其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。
ngMousedown
适用标签:所有
触发条件:鼠标按下,左右中间按下都会触发
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.mousedown = function ($event) { alert($event.which); } });
ngMouseup
适用标签:所有
触发条件:鼠标按下弹起,左右中间按下弹起都会触发
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.mouseup = function ($event) { alert($event.which); } });
ngMouseenter
适用标签:所有
触发条件:鼠标进入
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.mouseenter = function () { alert('mouseenter'); } });
ngMouseleave
适用标签:所有
触发条件:鼠标离开
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.mouseleave = function () { alert('mouseleave'); } });
ngMousemove
适用标签:所有
触发条件:鼠标移动
#html#script angular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.mousemove = function () { alert('mousemove'); } });
ngMouseover
适用标签:所有
触发条件:鼠标进入
感谢各位的阅读!关于“Angularjs中事件指令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!