gpt4 book ai didi

javascript - 防止在选择输入框时触发 keyup 事件

转载 作者:行者123 更新时间:2023-11-30 13:04:05 25 4
gpt4 key购买 nike

我有一个事件,我想在按下 RSPACE 时触发,但在输入字段中时除外。

具体来说,我担心 <input id='nameInput' type='text'>当我点击一个 div 并删除 onchange 时我动态创建的/onblur .这就是为什么我尝试检查 if( !$('#nameInput') ) ,但是 $('#nameInput')是一个 jQuery 对象,所以它的 bool 值总是 true (因此也是 !$('#nameInput') == false )。

$(window).bind('keyup',
function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 32 || code == 82){
if( !$('#nameInput') ){
roll();
}
}
}
);

我有一个解决方案,该解决方案利用在输入字段的焦点中设置的全局 bool 变量,但我想要一个尽可能不需要全局变量的解决方案。

有没有办法确定哪个元素当前具有焦点?

最佳答案

您可以使用 document.activeElement知道当前有焦点的元素。

if (!$(document.activeElement).is('input, textarea')) {
roll();
}

您还可以使用 :focus 选择器。

if (!$(':focus').is('input, textarea')) { 
roll();
}

关于javascript - 防止在选择输入框时触发 keyup 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16350184/

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