时间:2021-05-28
Angularjs 事件指令详细整理
ngClick
适用标签:所有
触发条件:单击
ngDblclick
适用标签:所有
触发条件:双击
ngBlur
适用标签:
触发条件:失去焦点
#html<div ng-controller="LearnCtrl"> <a href="" ng-blur=" rel="external nofollow" blur()">link</a> <input type="text" ng-blur="blur()"/> <textarea cols="30" rows="10" ng-blur="blur()"></textarea> <select ng-blur="blur()"> <option>----</option> <option>jacky</option> <option>rose</option> </select></div>#scriptangular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.blur = function () { alert('blur'); } });ngFocus
适用标签:
触发条件:获取焦点
#html<div ng-controller="LearnCtrl"> <a href="" ng-focus=" rel="external nofollow" focus()">link</a> <input type="text" ng-focus="focus()"/> <textarea cols="30" rows="10" ng-focus="focus()"></textarea> <select ng-focus="focus()"> <option>----</option> <option>jacky</option> <option>rose</option> </select></div>#scriptangular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.focus= function () { alert('focus'); } });ngChange
适用标签:input
触发条件:model更新
输入框的内容改变并不代表model的值更新。按我的理解,一般当两个状态互相切换时,model值会更新。两个状态我称之为合法状态和不合法状态。
不合法的状态:输入的内容不符合type类型,如email类型。输入的内容不符合校验条件,如ngMinlength。不合法的状态下,model会被更新成undefined。
合法的状态:输入的内容是符合类型和校验条件的。
#html<div ng-controller="LearnCtrl"> <input type="text" ng-model="text" ng-change="change()" ng-minlength="5"/></div>#scriptangular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { //$scope.text=''; $scope.change = function () { alert('change'); } });初始化和不初始化text的条件下,change触发是不一样的哦,这里涉及到model初始化和更新机制。
ngCopy
适用标签:
官方api上说使用的标签是这些,我没明白a和select复制有啥子用。另外,我换个div实际上也能触发copy事件。一般常用的就是input和textarea。
触发条件:复制。鼠标右键复制和快捷键Ctrl+C都会触发。
#html<div ng-controller="LearnCtrl"> <input type="text" ng-copy="copy()"/> <textarea cols="30" rows="10" ng-copy="copy()"></textarea></div>#scriptangular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.copy = function () { alert('copy'); } });ngCut
适用标签:
触发条件:剪切。鼠标右键剪切和快捷键Ctrl+X都会触发。
ngPaste
适用标签:
ainputselecttextarea触发条件:粘贴。鼠标右键粘贴和快捷键Ctrl+V都会触发。
ngKeydown
适用标签:所有
个人感觉还是input和textarea比较常用
触发条件:键盘按键按下
要把$event传过去,一般都是要判断按了哪个按键的。
#html<div ng-controller="LearnCtrl"> <input type="text" ng-keydown="keydown($event)"/> <textarea cols="30" rows="10" ng-keydown="keydown($event)"></textarea></div>#scriptangular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.keydown = function ($event) { alert($event.keyCode); } });ngKeyup
适用标签:所有
个人感觉还是input和textarea比较常用
触发条件:键盘按键按下并松开
#html<div ng-controller="LearnCtrl"> <input type="text" ng-keyup="keyup($event)"/> <textarea cols="30" rows="10" ng-keyup="keyup($event)"></textarea></div>#scriptangular.module('learnModule', []) .controller('LearnCtrl', function ($scope) { $scope.keyup = function ($event) { alert($event.keyCode); } });ngKeypress
适用标签:所有
个人感觉还是input和textarea比较常用
触发条件:键盘按键按下
#html<div ng-controller="LearnCtrl"> <input type="text" ng-keypress="keypress($event)"/> <textarea cols="30" rows="10" ng-keypress="keypress($event)"></textarea></div>#scriptangular.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。
ngMousedown
适用标签:所有
触发条件:鼠标按下,左右中间按下都会触发
ngMouseup
适用标签:所有
触发条件:鼠标按下弹起,左右中间按下弹起都会触发
ngMouseenter
适用标签:所有
触发条件:鼠标进入
ngMouseleave
适用标签:所有
触发条件:鼠标离开
ngMousemove
适用标签:所有
触发条件:鼠标移动
ngMouseover
适用标签:所有
触发条件:鼠标进入
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持,如有疑问请留言或者到本站社区交流讨论,大家共同进步!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
AngularJS事件AngularJS有自己的HTML事件指令。ng-click指令ng-click指令定义了AngularJS点击事件。AngularJS实
本文实例讲述了AngularJS中directive指令使用之事件绑定与指令交互用法。分享给大家供大家参考,具体如下:AngularJS中模板的使用,事件绑定以
AngularJS通过指令将HTML属性进行了扩展。AngularJS指令 AngularJS指令是带有ng-前缀的扩展HTML属性。 ng-app指令用来
AngularJS指令AngularJS通过被称为指令的新属性来扩展HTML。AngularJS通过内置的指令来为应用添加功能。AngularJS允许你自定义指
“AngularJS通过被称为指令的新属性来扩展HTML。AngularJS通过内置的指令来为应用添加功能。AngularJS允许你自定义指令。”这是我最初接触