1
我正在解決項目中的可訪問性問題。我正在努力的一個場景是,我們有一個帶有ng-click事件的錨標籤。當某人正在使用鍵盤擊中製表符併到達頁面上的錨標記時,他們正在敲輸入鍵,並且他們認爲它應該做些什麼。但是,不幸的是,輸入按鍵和點擊事件與按鈕控制很好地結合,但與錨點無關。任何人有任何建議如何解決這個問題?提高錨鍵 - 點擊進入按鍵訪問角度
在此先感謝。
我正在解決項目中的可訪問性問題。我正在努力的一個場景是,我們有一個帶有ng-click事件的錨標籤。當某人正在使用鍵盤擊中製表符併到達頁面上的錨標記時,他們正在敲輸入鍵,並且他們認爲它應該做些什麼。但是,不幸的是,輸入按鍵和點擊事件與按鈕控制很好地結合,但與錨點無關。任何人有任何建議如何解決這個問題?提高錨鍵 - 點擊進入按鍵訪問角度
在此先感謝。
我遇到了類似的問題,並解決它創建一個簡單的指令,它將攔截鏈接上的keydown/keypress事件,然後調用與指令相關的函數。
這裏的指令:
// Allows for the interception of the enter key, and then calling a passed in function
(function() {
'use strict';
angular
.module('app.directives')
.directive('convEnter', convEnter);
function convEnter() {
var directive = {
restrict: 'A',
link: link
};
return directive;
////////////////////////////////////////////////////////////////////////
function link(scope, element, attrs) {
element.bind('keydown keypress', function (event) {
if (event.which === 13) {
scope.$apply(function() {
scope.$eval(attrs.convEnter, { 'event': event });
});
event.preventDefault();
}
});
}
}
})();
要使用它,只需將它應用到你的鏈接,即:
<a conv-enter="vm.click()" ng-click="vm.click()">Click Link</a>
當然,這是一個有點重複,你正在指定「 vm.click()「兩次;如果需要,可以通過讓指令簡單地在元素本身上調用「click」函數來優化此操作,只要您始終希望單擊和回車鍵調用相同的函數即可。 (在我的情況下,我有時需要區分這兩者,因此我允許傳遞一個單獨的函數)