【发布时间】:2011-08-25 08:05:22
【问题描述】:
为了学习 JavaScript,我正在编写一个小型文本编辑器 Google Chrome 扩展程序。但我不断收到此错误:Cannot read property 'value' of undefined。每当调用tranquility.save(); 时都会发生这种情况,但不会在tranquility.open(); 被调用时发生,这很奇怪,因为它们基本相同,只是换了边。 paper 只是一个<textarea>。
var tranquility = {
paper: document.getElementById("paper"),
lastOpenedPaper: localStorage.getItem("lastOpenedPaper"),
listen: function() {
this.paper.addEventListener("keyup", this.save, false);
},
save: function() {
localStorage.setItem(this.lastOpenedPaper, this.paper.value);
},
open: function() {
this.paper.value = localStorage.getItem(this.lastOpenedPaper);
}
}
编辑:
在创建<textarea> 之后调用它(除非它必须是整个 DOM)
<body>
<textarea id="paper"></textarea>
<script src="../js/application.js"></script>
<script>
tranquility.listen();
</script>
</body>
【问题讨论】:
-
似乎
document.getElementById("paper")正在返回未定义。 -
这个答案可能对你有用:stackoverflow.com/questions/415602/…
标签: javascript