Disable arrow key scrolling in users browser 제타 화살표 키를 사용하지 않도록 설정하는 방법에 대한 정확한 답을 받았다 활성화합니다.일단 해제 화살표 키 스크롤은 사용자 브라우저에서, 어떻게
는 나는 그것의 불가능 한 번 화살표 키 탐색을 다시 활성화해야합니다.
$('main navigation').has('drop down').bind('keyup', function (e) {
if (e.keyCode == 40) {hover(e,$(this));} //Down Arrow Key press, how mega menu
if (e.keyCode == 38) {unhover(e);} //Up Arrow Key Press, hide mega menu
if (e.keyCode == 9) {checkTab();} //check if tab pressed
}
var checkTab = function(){
// i check, if tab focus to the main menu anchor
if($('main navigation').is(':focus')){
var keys = [];
window.addEventListener("keydown",
function(e){
keys[e.keyCode] = true;
switch(e.keyCode){
case 37: case 39: case 38: case 40: // Arrow keys
case 32: e.preventDefault(); break; // Space
default: break; // do not block other keys
}
},
false);
window.addEventListener('keyup',
function(e){
keys[e.keyCode] = false;
},
false);
console.log('focused')
}
else {
console.log('f out')
}
}
이 작업은 정상적으로 작동하지만 바인드 window.event를 사용하지 않도록 설정할 수 있습니다. 일단 사용할 수 없으면 사용할 수 없습니다. 이 시점에서 도움이 필요합니다.
그냥'keydown' 리스너를 분리하십시오 ... – Bergi