$('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上立即插入千位分隔符(如果需要),这个bug真的让我烦恼并破坏了这个功能.
要重现它,请转到jsfiddle示例,在第一次输入时打开控制台中的chrome类型,keyup事件将被正确触发,而不是使用制表符或在其外部单击的非焦点输入,并且不会触发更改事件.对其他输入执行相同操作并将触发更改.
我在Firefox中对此进行了测试,它按预期工作.
我正在使用的Chromium版本是14.0.835.202(Developer Build 103287 Linux)Ubuntu 11.10
和
尝试直接从Chrome网站新安装的Google Chrome 15.0.874.106.
我可以在更改事件上插入分隔符,但由于用户将输入许多7位数字,因此在键入时插入分隔符会更好.