我正在尝试使用 JavaScript 将单击事件附加到复选框。下面显示的是 HTML 和 JS。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<input type="hidden" name="caution_c" value="0">
<input type="checkbox" id="caution_c" name="caution_c" value="1" tabindex="120">
<script type="text/javascript">
var cb = document.getElementById('caution_c');
cb.onclick = function() {
alert(1);
}
</script>
</body>
</html>
问题是在 IE 中,click 事件不会触发。我已经缩小了问题的位置。问题是在复选框之前有一个隐藏的输入,并且这两个元素具有相同的名称。我不确定为什么这会导致问题(毕竟,我使用的是 getElementById 并且隐藏的元素甚至没有 id)。
这种行为是否有正当理由(仅限 IE。在 Firefox 中工作正常......一如既往:()?另外,是否有一个好的解决方法(我可以只做document.getElementsByName('caution_c')[1]但我不想……)