我需要使用指令使用回車鍵觸發點擊事件。我需要它是一個指令,因為我想重用它。
例如:一個系結了一些 onclick 事件的 div,我將使用 tabindex="0" 和鍵盤輸入 keydown 將焦點設定在 div 上以觸發點擊事件。
這可能嗎?我已經嘗試過下面的指令代碼,但它不起作用。
(function () {
'use strict';
angular
.module('app.directives')
.directive('enterKeyInput', enterKeyInput);
enterKeyInput.$inject = [];
/* @ngInject */
function enterKeyInput() {
var directive = {
restrict: 'AC',
link: function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if (event.keyCode === 13) {
element.click();
}
});
}
};
return directive;
}
})();
uj5u.com熱心網友回復:
我自己找到了答案:D
(功能(){'使用嚴格';
angular
.module('app.directives')
.directive('enterKeyInput', enterKeyInput);
enterKeyInput.$inject = [];
/* @ngInject */
function enterKeyInput() {
return {
restrict: 'AC',
link: function (scope, element, attrs) {
element.bind('keyup', function (e) {
if ([13].indexOf(e.which) !== -1) {
e.preventDefault();
e.stopPropagation();
element.click();
}
});
}
};
}
})();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/403402.html
標籤:
