【发布时间】:2013-11-08 14:28:19
【问题描述】:
我之前的问题是关于同样的崩溃,但在 contenteditable 元素中 (previous question)。 展望未来,我发现在 textarea 中也发生了同样的事情。 在我的示例 (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); */
};
【问题讨论】:
-
这个对我来说在 Firefox 和 Chrome 中也能正常工作。 “崩溃”到底是什么意思?
-
它发生在我身上。添加两行文本(使用 enter 转到下一行),单击刚刚创建的文本中的任意位置,再次按 enter。页面应该崩溃(至少在 Chrome 中对我而言)
-
话虽如此,取出js就可以消除crash,所以有问题
-
我一直在 textarea 中单击和输入,但没有发生任何奇怪的事情。 (我在 Linux 上使用 Chrome 29.0.1547.62。)edit - 哦,等等,它刚刚发生了。我会记录一个错误,因为它显然是这样的。
标签: javascript css html textarea