$('input#not-gonna-work').bind({
keyup: function(){
console.log('Typed a key');
$(this).val($(this).val() + '.');// try with any other char
},
change: function(){
console.log('I\'m a changed input');
}
});
我在这个简化的jsfiddle示例中上演了这个错误。我与此错误相关的问题是我正在构建一个财务应用程序,如果输入数据发生更改,我需要显示“保存更改”按钮。因为我需要立即插入千位分隔符keyup
(如果需要),这个错误真的让我很恼火并且破坏了这个功能。
要重现它,请转到jsfiddle示例,在 chrome 中打开控制台,在第一个输入中键入任何内容,keyup
事件将被正确触发,而不是使用选项卡取消焦点输入或在其外部单击,并且change
不会触发事件。对其他输入执行相同操作,change
将被触发。
我在 Firefox 中对此进行了测试,它按预期工作。
我使用的 Chromium 版本是 14.0.835.202 (Developer Build 103287 Linux) Ubuntu 11.10
和
尝试使用直接从 Chrome 网站全新安装的 Google Chrome 15.0.874.106。
我可以在事件中插入分隔符change
,但由于用户将输入大量 7 位以上的数字,因此在用户键入时插入分隔符会更好。