Myo*_*bis 11 javascript jquery javascript-events
我想在用户输入后立即对文本框控件的每次修改运行一个函数.该事件.keyup()对于大多数的情况是好的.
但是,浏览器(如Chrome或Firefox)可能会建议文本框控件的自动完成条目(可能是因为输入控件的@name或@id已知).
不幸的是,当"点击建议的条目"时,我无法触发以下任何事件.(.keyup()在使用键盘选择时触发)
$('input#email')
.click(function() { console.log('click'); })
.keyup(function() { console.log('keyup'); })
.keydown(function() { console.log('keydown'); })
.change(function() { console.log('change'); })
.focus(function() { console.log('focus'); })
.blur(function() { console.log('blur'); });
Run Code Online (Sandbox Code Playgroud)
我想尽可能避免使用setInterval()定期检查.
有没有办法检测到这个"选择建议"事件?
die*_*ter 11
绑定propertychange事件:
$('input').bind('input propertychange', function() {
var input = this.value.trim();
[...]
});
Run Code Online (Sandbox Code Playgroud)
简短的回答是否定,没有检测到建议选择的事件.您可以尝试查看DOM变异观察者,但我不确定这些属性是否有所改变,到目前为止对此API几乎没有支持.
所以,如果你真的需要处理这个案子,那么我认为这setInterval是你唯一的选择.
编辑:3年后,您可以使用propertychangejQuery,因为在新接受的答案中(我假设使用引擎下的变异观察者).