1. 程式人生 > >angularjs 繫結enter事件的兩種方法

angularjs 繫結enter事件的兩種方法

繫結dom元素enter事件有兩種方法,個人推薦第二種

方法一:由於沒有ngEnter指令,所以可以自己擴充套件一個

指令程式碼如下:

'use strict';

define(function (require, exports, module) {
    module.exports = function (ngModule) {
        ngModule.register.directive('ngEnter', function () {
            return {
                restrict: 'A',
                require
: '?ngModel', link: function ($scope, element, attrs, controller) { element.bind("keydown keypress", function (event) { if(event.which === 13) { $scope.$apply(function (){ $scope.$eval
(attrs.ngEnter); }); event.preventDefault(); } }); } } }); } });

方法二:用ng-keypress指令:

<input class="add-inner-input" id="name" placeholder="回車新增,設定日期點右側" ng-keypress="($event.which === 13)?addTask():0"
/>