jQuery检测如何触发更改

时间:2016-03-31 16:19:44

标签: jquery html-select onchange

如果我有像

这样的选择变更事件
$('#select').on('change', function (e) {
    //do things
});

如何判断用户是通过标签更改为此并输入字母,还是点击其中一个选项?

基本上我试图在下拉菜单更改时延迟操作,但只有在有人打字时才会这样做。点击不应该保证延迟,但有人可能会输入多个字母,所以我想在他们输入时给他们足够的时间,如果是这样的话。

1 个答案:

答案 0 :(得分:1)

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;
});