diff --git a/lib/ace/keyboard/textinput.js b/lib/ace/keyboard/textinput.js index bda80b35..dfad806b 100644 --- a/lib/ace/keyboard/textinput.js +++ b/lib/ace/keyboard/textinput.js @@ -73,7 +73,7 @@ var TextInput = function(parentNode, host) { var inCompostion = false; - var resetTimeout = true; + var resetTimeout = null; var tempStyle = ''; @@ -135,11 +135,20 @@ var TextInput = function(parentNode, host) { return; } - var data = text.value.substring(isSelectionEmpty ? 2 : 1); + var data = text.value; + if (data.substring(0, 2) == PLACEHOLDER) + data = data.substr(2); + else + data = data.substr(1); + resetValue(); + if (data) { + // can happen if undo in textarea isn't stopped + if (data[data.length - 1] == PLACEHOLDER[0]) + data = data.slice(0, -1); if (data) host.onTextInput(data); - else + } else host.onDelete(); };