我希望textarea撤消堆栈更频繁地更新。我在这里阅读了一个技巧Trigger textarea ctrl-z undo buffer update,它在Chrome和IE上运行良好:
做模糊();焦点();每当你想添加到撤消堆栈。
然而,这不适用于Firefox。那里有什么聪明的伎俩吗?我希望我不会创建自己的撤销/重做功能和堆栈。
对于那些想要使用此技巧的人:它不适用于移动设备。它确实添加到撤消堆栈,但键盘在blur()上消失。对于另一个问题,这将是一个问题。
这增加了Chrome和IE中输入和句号的撤消堆栈:
$(".textarea").keyup( function() {
var the_event = arguments[0] || window.event;
var key = the_event.keyCode || the_event.charCode;
if(key == 13 || key == 190){ // enter or period
$(this).blur(); // saves to undo/redo stack
$(this).focus();
}
});
Firefox正在捕获该事件。我检查了调试器,它确实在输入时执行blur()和focus()。