【发布时间】:2016-07-20 05:17:24
【问题描述】:
如果我有一个选择更改事件,例如
$('#select').on('change', function (e) {
//do things
});
我如何判断用户是通过 Tab 键和输入字母,还是通过单击其中一个选项来更改它?
基本上,我会尝试在下拉列表更改时延迟操作,但前提是这是由某人键入引起的。单击不应导致延迟,但有人可能会输入多个字母,所以我想在他们输入时给他们足够的时间,如果是这样的话。
【问题讨论】:
-
你的意思是 .click() vs .keyPress()?
-
@j08691 不一定,因为我只是单击下拉菜单然后会触发单击事件,如果有人按下没有以该字母开头的选项的键,则不会更改发生了
-
@j08691 我应该注意的另一件事是,我还有其他东西也可以触发这个下拉列表的变化
-
为
.keyPress和.click创建全局布尔值,然后如果.on('change'发生,您知道上述情况是否属实...这是由于...最后更改事件的两个布尔值都设置为 false.. -
是的,@abc123 成功了
标签: jquery html-select onchange