diff --git a/lib/ace/keyboard/textinput.js b/lib/ace/keyboard/textinput.js index e8f3ed29..0c7514ad 100644 --- a/lib/ace/keyboard/textinput.js +++ b/lib/ace/keyboard/textinput.js @@ -210,7 +210,8 @@ var TextInput = function(parentNode, host) { host.onPaste(data); pasted = false; } else if (data == PLACEHOLDER[0]) { - host.execCommand("del", {source: "ace"}); + if (Date.now() - lastCompositionTime > 100) + host.execCommand("del", {source: "ace"}); } else { if (data.substring(0, 2) == PLACEHOLDER) data = data.substr(2); @@ -355,10 +356,12 @@ var TextInput = function(parentNode, host) { if (!inCompostion) return; host.onCompositionUpdate(text.value); }; - + + var lastCompositionTime = -1; var onCompositionEnd = function(e) { inCompostion = false; host.onCompositionEnd(); + lastCompositionTime = Date.now(); }; var syncComposition = lang.delayedCall(onCompositionUpdate, 50);