網(wǎng)路上下了個(gè)jq插件,輸入框綁定了click事件,但是我自己寫的angular腳本也在同一個(gè)輸入框上用了ng-keydown。 。 。我以為是angular的keydown處理函數(shù)會(huì)執(zhí)行,結(jié)果沒(méi)效果。 。 。但是我又不能把插件的click事件處理函數(shù)給去掉,因?yàn)橐玫剿墓δ堋?。 。不知道怎麼處理這種狀況
<!--自定義指令: 限制輸入框中只能是1到100之間的數(shù)值-->
<input type="text" score>
<script type='text/javascript' src="angular.js"></script>
<script type="text/javascript">
angular.module('myApp',[])
.directive('score', function () {
return {
link : function (scope, elements, attrs, controller) { //在顯示之前執(zhí)行, 只執(zhí)行一次
//得到input
//console.log('link()',elements);
var input = elements[0]
//給input綁定keyup的監(jiān)聽回調(diào)函數(shù)
input.onkeyup = function () {
//讀取input的value, 判斷是否合法
var score = input.value.trim()
//如果合法, background為white
if(score==='' || (score*1>=1&&score*1<=100)) {
input.style.background = 'white'
} else {
//否則為red
input.style.background = 'red'
}
}
}
}
})
.controller('MyController', function($scope){
});
不能這麼寫的啊,
首選要require: '?ngModel',
然後取得文字框的值ngModel.$modelValue 而不是input.value ,
還有不用elements[0],element就代表了
jquery的思維太嚴(yán)重啊。 。 。