jQuery 检测变化是如何触发的
jQuery Detect How Change Was Triggered
如果我有一个 select on change 事件,比如
$('#select').on('change', function (e) {
//do things
});
我如何判断用户是通过跳转到它并键入字母,还是通过单击它的选项之一来更改它?
基本上,我试图在下拉菜单发生变化时延迟操作,但只有在有人输入时才这样做。单击不应该导致延迟,但有人可能会输入多个字母,所以我想在他们输入时给他们足够的时间,如果是这样的话。
var keyPressed = false;
var clicked = false;
$('#select').on('click', function() {
clicked = true;
})
.on('keyPress', function() {
keyPressed = true;
})
.on('change', function (e) {
if (keyPressed) {
//do things
}
keyPressed = false;
clicked = false;
});
如果我有一个 select on change 事件,比如
$('#select').on('change', function (e) {
//do things
});
我如何判断用户是通过跳转到它并键入字母,还是通过单击它的选项之一来更改它?
基本上,我试图在下拉菜单发生变化时延迟操作,但只有在有人输入时才这样做。单击不应该导致延迟,但有人可能会输入多个字母,所以我想在他们输入时给他们足够的时间,如果是这样的话。
var keyPressed = false;
var clicked = false;
$('#select').on('click', function() {
clicked = true;
})
.on('keyPress', function() {
keyPressed = true;
})
.on('change', function (e) {
if (keyPressed) {
//do things
}
keyPressed = false;
clicked = false;
});