gpt4 book ai didi

jquery - 覆盖 FF、chrome 等中的 F1 键。 ie8/chrome 上的 F1 是按键上的还是 FF 上的?输入字段中的 怎么样?

转载 作者:行者123 更新时间:2023-12-01 00:59:45 26 4
gpt4 key购买 nike

我正在使用 jquery 创建命名空间事件。当我使用以下带有 code=112 的函数(函数 bool=false)时,FF 中一切正常,并且 F1 键提交到我的函数,并且该事件不会冒泡以在新选项卡中打开 Firefox 帮助。

function bindKeyFunc(code, func, bool){
$(document).bind('keypress.' + code, function(e){
var c = (e.keyCode ? e.keyCode : e.which);
//console.log(c);
if ( code == c) {
//e.stopPropagation();
//e.preventDefault();
func();
return bool;
}
});
}

在 chrome 和 ie8 中,即使我取消注释 stopPropagation 和 PreventDefault 调用,我的事件监听器也不会触发,而是会出现常规帮助。

同样,当我尝试接管<tab>时出于我自己的目的,它在 FF 中工作得非常好,但我的事件在 chrome 或 ie8 中不会触发,而是触发选项卡的默认操作:

    $('input#manual-total').bind('keypress.dep', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if ( code==9 ){
$('div#formset').show();
$(next).focus()[0].select();
return false;
}
});

最佳答案

keydown 上的普通 document.addEventListener 在 Chrome 上对我有用。

var util = { };

document.addEventListener('keydown', function(e){

var key = util.key[e.which];
if( key ){
e.preventDefault();
}

if( key === 'F1' ){
// do stuff
}
})

util.key = {
9: "tab",
13: "enter",
16: "shift",
18: "alt",
27: "esc",
33: "rePag",
34: "avPag",
35: "end",
36: "home",
37: "left",
38: "up",
39: "right",
40: "down",
112: "F1",
113: "F2",
114: "F3",
115: "F4",
116: "F5",
117: "F6",
118: "F7",
119: "F8",
120: "F9",
121: "F10",
122: "F11",
123: "F12"
}

关于jquery - 覆盖 FF、chrome 等中的 F1 键。 ie8/chrome 上的 F1 是按键上的还是 FF 上的?输入字段中的 <tab> 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com