textarea非常奇怪的bug

时间:2013-11-08 14:28:19

标签: javascript css html5 textarea

我之前的问题是关于同样的崩溃,但是在可信的元素(previous question)中。 向前发展我发现在textarea中发生了同样的事情。 在我的示例(JSBin)中,您只需模拟以下情况:在该textarea中输入2行,然后将光标移动到文本中间的某处,然后按Enter键,页面将崩溃。 似乎导致页面崩溃的事件的复杂性。此外,这种崩溃在所有地方都很相似,不仅仅是在JSBin,小提琴或其他方面。

JSBin

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); */
};

1 个答案:

答案 0 :(得分:4)

我不知道为什么,但是,如果您将textarea.value = "blabla";更改为此setTimeout(function(){textarea.value = "blabla";},1);,则崩溃将停止。