搜尋

首頁  >  問答  >  主體

javascript - angularjs ngblur不生效 onblur生效,為什麼?

<input class="detail-reply"
        id="replyInput"
        type="text"
        ng-model="$ctrl.replyString">

這個input使用ng-blur是不會觸發的,但是直接DOM綁定onblur事件是會觸發,為什麼?

淡淡烟草味淡淡烟草味2815 天前862

全部回覆(2)我來回復

  • 世界只因有你

    世界只因有你2017-06-30 09:59:53

    你用的是1還是2如果是2的話,可以

    export class AppComponent { 
      myModel: any;
      constructor(){
        this.myModel = '123';
      }
      onBlurMethod(){
       alert(this.myModel) 
      }
    }

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-30 09:59:53

    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});
          });
        });
      }
    }]);

    回覆
    0
  • 取消回覆