javascript - angularjs ngblur不生效 onblur生效,為什么?
問題描述
<input type='text'ng-model='$ctrl.replyString'>
這個input使用ng-blur是不會觸發的,但是直接DOM綁定onblur事件是會觸發,為什么?
問題解答
回答1:你用的是1還是2如果是2的話,可以<input type='text' [(ngModel)]='myModel' (blur)='onBlurMethod()'>
export class AppComponent { myModel: any; constructor(){ this.myModel = ’123’; } onBlurMethod(){ alert(this.myModel) }}回答2:
angular1的ng-blur要通過指令才能使用,指令的作用其實就是將ng-blur綁定的事件應用到onblur事件
app.directive(’ngBlur’, [’$parse’, function($parse) { return function(scope, element, attr) { var fn = $parse(attr[’ngBlur’]); element.bind(’blur’, function(event) { scope.$apply(function() {fn(scope, {$event:event}); }); }); }}]);
相關文章:
1. Java整數池。為什么?2. CSS更改未得到反映。為什么?3. javascript - 最小函數準則 一個函數里只能干一件相關事情 為什么?真的有意義嗎?~4. mysql無法刪除字段(錯誤1091),但是對該字段設置主鍵后就可刪除,為什么?5. python - flask post提交timestamp不能作為參數,這是為什么?6. javascript - 很多網頁前端都是一整個圖片裁剪出來很多小的素材比如按鈕圖標等這是為什么?手機端開發也會這么操作嗎?7. Java的PriorityQueue的內置迭代器不會以任何特定順序遍歷數據結構為什么?8. html5 - 調試時,背景圖可以顯示;在真機上顯示不出來,為什么?9. JavaScript在全局對象中聲明變量,會成為一個全局對象的同名屬性而在函數中聲明變量則不會,為什么?10. 在Java中,相同代碼塊的運行時間不同。這是為什么?
