[英]onchange property doesn`t work in javascript
如果用户在id="sc1dc1"
的 html 输入字段中输入某些内容(不直接在 HTML 中使用"onchange="
test()
我想启动函数test()
)。 怎么了?
HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<input type="text" id="sc1dc1" >
</body>
</html>
Javascript:
var x = document.getElementById("sc1dc1").value;
x.onchange = test;
function test(){alert("Test")};
关于onchange
事件的事情是它们只在<input>
字段失去焦点时触发。 如果您想要立即响应,您应该像这样使用oninput
:
x.oninput = test;
您还需要使x
等于实际元素,而不是元素的值。 删除:
.value
从这一行:
var x = document.getElementById("sc1dc1").value;
会修好。
使用onchange
演示:
var x = document.getElementById("sc1dc1"); x.onchange = test; function test() { alert("Test") };
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <input type="text" id="sc1dc1"> </body> </html>
使用oninput
演示:
var x = document.getElementById("sc1dc1"); x.oninput = test; function test() { alert("Test") };
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <input type="text" id="sc1dc1"> </body> </html>
javascript应该是这样的:
var x = document.getElementById("sc1dc1"); x.onchange = test; function test(){alert("Test")};
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <input type="text" id="sc1dc1" > </body> </html>
你不需要 .value
您需要将功能test
分配给元素的oninput
属性。 x
应该是HTMLInputElement
,而不是元素的值。
改变
var x = document.getElementById("sc1dc1").value;
到
var x = document.getElementById("sc1dc1");
如果您想在输入文本oninput
不是在输入失去焦点后立即触发事件处理程序,请使用oninput
而不是onchange
。
var x = document.getElementById("sc1dc1"); x.oninput = test; function test(){alert("Test")};
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <input type="text" id="sc1dc1" > </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.