画像の名前をキャプチャする入力(フォーム外)があります。ユーザーは新しい名前を入力してEnterキーを押す必要があります。Ajaxコールバックは画像の名前を変更します。これは機能します。
ユーザーがエスケープ(#27)を押したときに入力コンテンツを「リセット」する機能を追加したいと思います。しかし、入力の値を自分の値で埋めることができません。
コードは
<input id="escapeInput" value="this is test" /> <input type="button" id="setDetaultToEscapeInput" value="Set default" />
jQuery(document).ready(function() {
jQuery("#escapeInput").keydown(function(evt) {
if (evt.keyCode == 27) {
var input = jQuery(this);
input.val('some default value') // doesn't work
input[0].value = 'some default value 2'; // doesn't work
input.parent().append('changed');
}
});
jQuery("#setDetaultToEscapeInput").click(function() {
var input = jQuery("#escapeInput");
input.val('some default value') // works ok
});
});
興味深いのは、たとえば「A」文字をテストすると(if(evt.keyCode == 65))、コードが機能することです。それをどのように扱うかについて何か考えはありますか?FFだけでは動作しません(OperaとIE8はOKです)。