在Chrome中,我注意到,撤销不正确的输入元素之后元素的内容已经改变编程工作。 虽然我得到不同的行为,不同的浏览器,他们不为Chrome浏览器一样糟糕。
FF20 good
IE9 some support (undo stack cleared when input loses focus)
Safari5 some support (undo stack cleared when input loses focus)
Chrome26 unreliable
例如,修剪脚本空间(见下面的jsfiddle)
- 前输入一些空间“你好!”,
- 点击输入元素外
- 点击输入元素上并按下Ctrl-Z
现在文本消失(在丁目)
这里的jsfiddle
<input type="text" id="input1" value="hello!">
document.getElementById("input1").addEventListener('blur', function(evt){elementLosesFocus(evt, this);}, false);
function elementLosesFocus(evt, caller)
{
caller.value = caller.value.trim();
}
我想我可以希望的最好的事情就是以某种方式清除输入的撤销历史,当它失去焦点(如与IE和Safari的情况)的方法。