这是我的目标:我希望有一个文本框,当我输入它时,它会捕获我只是键入的内容,以便我可以在控制台中打印它。
我认为这应该很容易,但我遇到了问题。如果我在文本框中输入内容,例如"我在文本框中输入"然后在控制台中打印"我在textbo"中打字。它总是落后一个角色。
为什么?如何才能打印我 键入的内容?
以下是代码:
<body>
<textarea rows="4" cols="50" id="message"></textarea><br>
</body>
<script>
var messageEl = document.getElementById("message");
messageEl.addEventListener("keypress", functionGetMessage);
function functionGetMessage() {
var message = document.getElementById("message").value;
console.log("message:" + message);
};
</script>
另外,我不知道我的标题是否合适。
答案 0 :(得分:0)
使用input
事件获取.value
元素的当前<input>
。
<body>
<textarea rows="4" cols="50" id="message"></textarea><br>
</body>
<script>
var messageEl = document.getElementById("message");
messageEl.addEventListener("input", functionGetMessage);
function functionGetMessage() {
var message = document.getElementById("message").value;
console.log("message:" + message);
};
</script>
&#13;
答案 1 :(得分:0)
var messageEl = document.getElementById("message");
messageEl.addEventListener("keyup", functionGetMessage);
function functionGetMessage() {
var message = document.getElementById("message").value;
console.log("message:" + message);
};
&#13;
<input id="message">
&#13;
使用Keyup事件而不是按键。或者您可以使用输入