angularjs 繫結enter事件的兩種方法
阿新 • • 發佈:2019-02-18
繫結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" />