Javascript 一旦禁用用户浏览器中的箭头键滚动,如何启用它
Zeta得到了关于如何禁用箭头键的正确答案 我需要重新启用箭头键导航一旦它被禁用Javascript 一旦禁用用户浏览器中的箭头键滚动,如何启用它,javascript,jquery,scroll,arrow-keys,Javascript,Jquery,Scroll,Arrow Keys,Zeta得到了关于如何禁用箭头键的正确答案 我需要重新启用箭头键导航一旦它被禁用 $('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
$('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')
}
}
这可以正常工作,但我已经禁用了bind window.event。一旦禁用,我就无法启用。需要这方面的帮助。您可以使用Jquery打开/关闭来解决此问题 首先,按如下方式连接按键
$('window').on('keydown', function(){
//Your Function Here
});
然后要分离,请执行此操作
$('window').off('keydown');
使用另一个变量确定当前是否应阻止箭头键:
var useArrowKeysToScroll = false;
/* ... */
function(e){
keys[e.keyCode] = true;
if(!useArrowKeysToScroll &&
((e.keyCode >= 37 && e.keyCode <= 40) ||
e.keyCode == 32)){
e.preventDefault();
}
/* handle other keys etc... */
}, /* ... */
var useArrowKeyScroll=false;
/* ... */
职能(e){
键[e.keyCode]=真;
如果(!UseArrowKeyScroll&&
((e.keyCode>=37&&e.keyCode只需拆下keydown
侦听器。。。