2014-07-25 3 views
0

Я пытаюсь использовать вызов ng-submit для запуска события отправки в мою настраиваемую директиву, но это не стрельба.AngularJs - element.on ('submit') не работает в моей директиве

Это плунжер, который иллюстрирует мою проблему.

<div ng-controller="MyCtrl"> 
    <form name="loginForm" ng-submit="login()" novalidate=""> 
     <input type="submit" class='please-wait' value="Submit Me" /> 
    </form> 
</div> 

JS код:

app.directive('pleaseWait', function() { 
    return { 
     restrict: "C", 
     compile: function (element) { 
      element.on('submit', function (e) { 
       alert('Submit called'); 
      }); 

      element.on('click', function (e) { 
       alert('Click called'); 
      }); 
     } 
    }; 
}); 

http://plnkr.co/edit/lwHPVJI75q8bvVoSX1WP?p=preview

Что я делаю неправильно?

+2

'submit' - это событие формы, а не ввод –

+1

Перемещение класса, пожалуйста, подождите, чтобы форма зафиксировала его. – Scottie

+0

Повторная запись как ответ, и я соглашусь. – Scottie

ответ

4

«submit» не является событием в элементе input, но является событием на form, поэтому директива слушает событие, которое оно не получит.

Смежные вопросы