我有这段代码,它应该通过使用控件 onChange 事件选中和取消选中表单复选框来隐藏和显示 DIV。它适用于 Chrome、Firefox、Safari 和 Opera,但 IE 8 和 9 拒绝合作...控制台中没有错误消息。有什么我想念的吗?
感谢您的帮助!
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Demo</title>
<script type="text/javascript">
var divVisible = true;
function Passport() {
if (divVisible) {
document.getElementById('mydiv').style.visibility="hidden";
divVisible = false;
}
else {
document.getElementById('mydiv').style.visibility="visible";
divVisible = true;
}
}
</script>
</head>
<body>
<form>
<input type="checkbox" onchange="Passport();" value="Passport">Passport
</form>
<div style="height: 100px; width: 100px; background-color: #ff0;" id="mydiv"></div>
</body>
</html>
最佳答案
根据这个answer
IE 中的onchange
仅在复选框失去焦点时触发。因此,如果您跳转到它,按空格键几次,然后跳出,您将只会得到一个 onchange
事件,但会有多个 onclick
事件。
您应该更改代码以改为使用 onclick 事件:
<input type="checkbox" onclick="Passport();" value="Passport">Passport</input>
关于javascript - Internet Explorer 不执行 onChange 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20199675/