jQuery仅绑定到keyup,而不是焦点

And*_*rew 5 javascript navigation jquery events keyup

这似乎是一件简单的事情,但谷歌没有为我提供任何东西:

如何仅绑定到文本/值更改事件,不包括输入获得焦点?即,给出以下内容:

$(function(){
  $('input#target').on('keyup', function(){
    alert('Typed something in the input.');
  });
});
Run Code Online (Sandbox Code Playgroud)

...当用户标注进出元素时,无论他们是否实际输入文本,都会触发警报.除非他们输入/更改文本字段中的文本,否则如何允许用户在不触发事件的情况下通过表单进行键盘导航?

注意:我正在显示脚本的简化版本,不使用该change事件的原因是在我的实际代码中我有一个延迟计时器,以便在用户停止键入一秒钟之后发生事件,而不必更改专注于触发事件.

ade*_*neo 6

存储值,并在任何键事件检查它是否已更改,如下所示:

$(function(){
  $('input#target').on('keyup', function(){
      if ($(this).data('val')!=this.value) {
          alert('Typed something in the input.');
      }
      $(this).data('val', this.value);
  });
});?
Run Code Online (Sandbox Code Playgroud)

小提琴