jquery改变不起作用的动态值变化

Bin*_*nay 7 jquery events

在jQuery中,onchange如果textbox的值从其他事件动态变化,我如何跟踪事件.我尝试了这个,但它不起作用:

$("#txtbox").change(function(){
   alert("change");
});
Run Code Online (Sandbox Code Playgroud)

Jak*_* P. 12

keyup 不包括所有自然情况:(

两种情况何时起作用change,keyup哪些起作用:

  • 浏览器表单自动完成机制
  • 从系统剪贴板执行鼠标粘贴.

示例:form具有用于将电子邮件地址放入其中的文本框,并且onchange上附加了keyup事件.

当用户开始键入电子邮件地址时,如果弹出Chrome或Firefox自动完成框并且用户单击其中一个选项,则框中将填充值,焦点保留在文本框中(因此没有更改事件触发)并且未按任何键(没有键盘事件).我尝试将click附加到列表中,但它会在我的浏览器中引起奇怪的行为.

与粘贴类似 - 如果鼠标用于粘贴(通过右键单击可用的上下文菜单),则不会触发键盘和更改事件.

任何人都有一个完整的解决方案,即如何处理输入值的实际变化?


Cha*_*ick 0

change事件仅在元素失去焦点时触发。请keyup改用事件。