gpt4 book ai didi

jQuery .change() 事件不会在键盘的选择列表上触发 : how can I override this?

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

当用户第二次键入并按 Enter 键选择项目时,jQuery .change() 事件不会触发。第一次确实会火。

参见:http://jsfiddle.net/CtXbU/

如果您将注意力集中在列表上并输入 AD 并按 Enter 键,则会触发 [EDIT] 警报。但如果您随后输入 AG 并按 Enter 键,则什么也不会发生。仅当您单击列表之外的位置时,才会弹出警报。

如果我想处理用户同时使用鼠标和键盘更改列表的情况,该怎么办?

我知道我可以使用 .keypress() 来处理键盘事件,但是让两个独立的代码部分都做同样的事情感觉很奇怪。

是否有一个 jQuery 事件可以在鼠标和键盘更改发生时立即处理它们?

谢谢!

** 更新 **

这可能会澄清我的问题:http://jsfiddle.net/Bybr2/2/

// How can I create an event (or handler) that 
// (a) fires AS SOON AS keypress is invoked from user keyboard input
// (b) also fires AS SOON AS change is invoked from user mouse input
// (c) does not fire a second time when change is invoked after keypress, when the user clicks away following keypress?
按键后的

change 可能会非常令人困惑 - 它仅在用户按下 Enter 或单击时发生,因此如果我当时进行客户端更改,用户很可能会感到非常惊讶!

我能想到的唯一解决方案是某种变量,例如user_has_just_done_keypress,它在按键时设置为true,然后重置为false在下一个 change 事件中,但感觉很困惑。如果您在用户重新聚焦更改之前通过鼠标进行了更改,它也将不起作用。啊!

最佳答案

keyup 事件添加处理程序,而不是按键!如果您对按键使用与更改相同的处理程序,则它在 Firefox 等中无法正常工作。

$("select").bind('change keyup', select_handler);

和处理程序

function select_handler() {
$(this).val();
};

关于jQuery .change() 事件不会在键盘的选择列表上触发 : how can I override this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5024484/

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