ngClick
实用标签:一切
触发前提:单击
#html
<div ng-controller="LearnCtrl">
<div ng-click="click()">click me</div>
<button ng-click="click()">click me</button>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.click = function () {
alert('click');
}
});
ngDblclick
实用标签:一切
触发前提:双击
#html
<div ng-controller="LearnCtrl">
<div ng-dblclick="dblclick()">click me</div>
<button ng-dblclick="dblclick()">click me</button>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.dblclick = function () {
alert('click');
}
});
ngBlur
实用标签:
a
input
select
textarea
触发前提:落空核心
#html
<div ng-controller="LearnCtrl">
<a href="" ng-blur="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>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.blur = function () {
alert('blur');
}
});
ngFocus
实用标签:
a
input
select
textarea
触发前提:猎取核心
#html
<div ng-controller="LearnCtrl">
<a href="" ng-focus="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>
#script
angular.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>
#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
<div ng-controller="LearnCtrl">
<input type="text" ng-copy="copy()"/>
<textarea cols="30" rows="10" ng-copy="copy()"></textarea>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.copy = function () {
alert('copy');
}
});
ngCut
实用标签:
a
input
select
textarea
触发前提:剪切。鼠标右键剪切和快捷键Ctrl+X都邑触发。
#html
<div ng-controller="LearnCtrl">
<input type="text" ng-cut="cut()"/>
<textarea cols="30" rows="10" ng-cut="cut()"></textarea>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.cut = function () {
alert('cut');
}
});
ngPaste
实用标签:
a
input
select
textarea
触发前提:粘贴。鼠标右键粘贴和快捷键Ctrl+V都邑触发。
#html
<div ng-controller="LearnCtrl">
<input type="text" ng-paste="paste()"/>
<textarea cols="30" rows="10" ng-paste="paste()"></textarea>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.paste = function () {
alert('paste');
}
});
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>
#script
angular.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>
#script
angular.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>
#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
<div ng-controller="LearnCtrl">
<button ng-mousedown="mousedown($event)">button</button>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.mousedown = function ($event) {
alert($event.which);
}
});
ngMouseup
实用标签:一切
触发前提:鼠标按下弹起,摆布中心按下弹起都邑触发
#html
<div ng-controller="LearnCtrl">
<button ng-mouseup="mouseup($event)">button</button>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.mouseup = function ($event) {
alert($event.which);
}
});
ngMouseenter
实用标签:一切
触发前提:鼠标进入
#html
<div ng-controller="LearnCtrl">
<button ng-mouseenter="mouseenter()">button</button>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.mouseenter = function () {
alert('mouseenter');
}
});
ngMouseleave
实用标签:一切
触发前提:鼠标脱离
#html
<div ng-controller="LearnCtrl">
<button ng-mouseleave="mouseleave()">button</button>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.mouseleave = function () {
alert('mouseleave');
}
});
ngMousemove
实用标签:一切
触发前提:鼠标挪动
#html
<div ng-controller="LearnCtrl">
<button ng-mousemove="mousemove()">button</button>
</div>
#script
angular.module('learnModule', [])
.controller('LearnCtrl', function ($scope) {
$scope.mousemove = function () {
alert('mousemove');
}
});
ngMouseover
实用标签:一切
触发前提:鼠标进入