$('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の例に行き、最初の入力でクロムタイプのコンソールを開きます。keyup
イベントは適切に発生しますが、タブで入力のフォーカスを外すか、その外側をクリックするとchange
イベントは発生しません。他の入力についても同じことをchange
行うと、起動されます。
これを Firefox でテストしたところ、期待どおりに動作しました。
私が使用している Chromium のバージョンは 14.0.835.202 (Developer Build 103287 Linux) Ubuntu 11.10 です。
と
Chrome Webサイトから直接インストールしたばかりのGoogle Chrome 15.0.874.106で試しました。
イベントに区切り記号を挿入することもできchange
ますが、ユーザーは 7 桁以上の数字を大量に入力するため、入力時に区切り記号を挿入した方が UX が向上します。