这个esc行为是IE的顺便说一句。而不是使用jQuery使用好的旧的JavaScript来创建元素,它的工作原理。
var element = document.createElement('input');
element.type = 'text';
element.value = 100;
document.getElementsByTagName('body')[0].appendChild(element);
如果要将此功能扩展到其他浏览器,那么我将使用jQuery的数据对象来存储默认值。然后在用户按下退出时设置。
//store default value for all elements on page. set new default on blur
$('input').each( function() {
$(this).data('default', $(this).val());
$(this).blur( function() { $(this).data('default', $(this).val()); });
});
$('input').keyup( function(e) {
if (e.keyCode == 27) { $(this).val($(this).data('default')); }
});