我的上一个问题是关于 contenteditable 元素的相同崩溃 (之前的问题)。
接下来,我发现在文本区域中也会发生相同的事情。
在我的示例 (JSBin) 中,您只需要模拟这种情况:在文本区域中输入2行文字,然后将光标移动到文本中间的某个位置,随后按 Enter 键,页面就会崩溃。
看起来像是导致页面崩溃的事件组合。此崩溃不仅仅出现在 JSBin、fiddle 等网站,而是普遍存在。
HTML:
<textarea id="textarea"></textarea>
JS:
console.log("ready");
var textarea = document.getElementById("textarea"), overflowOnce = true;/* , savedText; */
console.log(textarea);
textarea.addEventListener("overflowchanged", function() {
if (overflowOnce) {
console.log("overflowchanged");
/* console.log("savedText " + savedText); */
/* console.log("current text: " + textarea.value);*/
textarea.value = "blabla";
overflowOnce = false;
}
else if (!overflowOnce) overflowOnce = true;
}, false);
textarea.onkeypress = function (e) {
console.log("press " + String.fromCharCode(e.keyCode));
/* savedText = textarea.value;
console.log(savedText); */
};