我有一个输入(外部窗体)来捕获图像的名称。用户应填写一个新名称并按Enter。Ajax回调重命名图像。这是可行的。
我想增加当用户按Escape(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”字符(如果(evt.keycode==65)),代码就会工作。
知道怎么处理吗?它不仅适用于FF(歌剧和IE8都可以)。