我想制作一个没有按钮的文本框的网页。如果我键入了两个字母并按下“Enter”按钮,则在1秒警报对话框之后从文本框中输入文本。所有操作都是正确的,只有aler对话框没有在输入后出现,而是在鼠标单击之后出现。
<!Doctype HTML!>
<html>
<head>
<meta charset="utf-8">
<head>6-4</head>
<script>
var keyCode = '';
var naam = '';
window.onload = function () {
var divResult = document.getElementById('divResult');
document.getElementById('txtInput').addEventListener('blur', function () {
naam = document.getElementById('txtInput').value;
document.getElementById('txtInput').onkeyup = function (e) {
keyCode = e.keyCode;
if (keyCode === 13) {
}
};
setTimeout("alert(naam);", 1000);
}, false);
};
function stopAlerts() {
clearInterval(txtNaam);
}
</script>
</head>
<body>
<h2>Type some letters in text box and push 'Enter'</h2>
<input type="text" id="txtInput" value="" />
<div id="divResult"></div>
</body>
</html>
发布于 2020-05-05 18:54:26
只需在文本框keydown
上设置一个事件,然后将计时器移动到if
语句的true
块中。
备注:
,
文档有效,则必须在head
部分添加一个非空的title
元素。如果您希望文本框为空,则不需要将value=""
.
setTimeout()
is not advised.传递为executed.script
放置在head
中,然后为在DOM准备就绪时应该自动运行的代码设置window.onload
事件处理程序,将script
移动到关闭的body
标记之前,删除< code >D26事件处理程序,只执行您想要运行的代码。H 227H 128
也是,不需要扫描该元素的事件处理程序中的textbox元素。您只需使用e.target
.h2
,而不具有h1
--在语义上是不正确的,并且会给那些依赖辅助技术的人带来问题。不要使用HTML元素,因为默认情况下浏览器的样式是这样的。样式设计是CSS的工作。如果您想要一些大的、粗体的文本,并且不开始新的部分,请远离标题元素,只需对文本进行样式设置。。
<!doctype HTML>
<html>
<head>
<meta charset="utf-8">
<title>6-4</title>
<style>
h1 { font-size:1.1em; }
</style>
</head>
<body>
<h1>Type some letters in text box and push 'Enter'</h1>
<input type="text" id="txtInput">
<div id="divResult"></div>
<script>
var divResult = document.getElementById('divResult');
document.getElementById('txtInput').addEventListener('keydown', function (e) {
if (e.key === "Enter") {
setTimeout(function(){ alert(e.target.value); }, 1000);
}
}, false);
</script>
</body>
</html>
发布于 2020-05-06 14:31:25
这使用Jquery来检测按下的enter键。
备注:
<input>
不需要/,因为它是一个自结束标记。有关这方面的更多信息,请参见Are (non-void) self-closing tags valid in HTML5?.<head>
标记。它必须是<title>
.<!Doctype html>
,在<
.!
,您希望它只在文本框中发出警报,更改$(document).on('keydown',function(event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
alert(document.getElementById("txtInput").value);
}
});
至
$(document).on('keydown',function(event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
alert(document.getElementById("txtInput").value);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!Doctype Html>
<html>
<head>
<meta charset="utf-8">
<style>
h1 {
font-size: 1.1em;
}
</style>
<title>6-4</title>
<script>
$(document).on('keydown', function(event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
alert(document.getElementById("txtInput").value);
}
});
</script>
</head>
<body>
<h1>Type some letters in text box and push 'Enter'</h1>
<input type="text" id="txtInput">
<div id="divResult"></div>
</body>
</html>
https://stackoverflow.com/questions/61620741
复制相似问题