gpt4 book ai didi

Javascript - 绑定(bind)到键事件,除非用户在文本输入中

转载 作者:行者123 更新时间:2023-11-30 16:34:43 24 4
gpt4 key购买 nike

所以我有这个页面,用户可以在其中使用方向键在不同的项目之间导航。为此,我使用了 jquery Binder :

$(document.body).bind('keydown', function(event) {
// use the directional keys

我希望此事件每次都有效,除非用户专注于文本输入。

所以我试着过滤掉这样的事件:

$(document.body).bind('keydown', '*:not(input[type="text"], textarea)', function(event) {

但不幸的是过滤器不起作用,并且在每种情况下都会触发事件。

我可以检测页面中每个输入的焦点(和模糊)事件,并通过全局 bool 值停用移动事件,但我发现它很不雅观。

有没有办法让输入字段“消耗”事件,或者像我尝试做的那样使用反向选择器过滤事件?

提前致谢

最佳答案

这不是有效的 .bind() 语法。传递给 .bind() 的事件不能被委托(delegate)。

您可能打算使用 .on() :

$(document.body).on('keydown', '*:not(input[type="text"], textarea)', function(event) {

});

JSFiddle

如果您使用的是 .on() 之前的 jQuery 版本(您不应该...),您可以使用 delegate() :

$(document.body).delegate('*:not(input[type="text"], textarea)', 'keydown', function(event){

});

关于Javascript - 绑定(bind)到键事件,除非用户在文本输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32871713/

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