下面是测试代码:
HTML代码:
<label class="herocheckbox " onclick="javascript:aaa();"> <input type="checkbox" id="hero1" value="hero1"> <input type="checkbox" id="hero2" value="hero2"> <input type="checkbox" id="hero3" value="hero3"> </label>
JS代码:
<script type="text/javascript">
function aaa(){
alert("1");
}
</script>
CSS:
<style type="text/css">
.herocheckbox {
width: 40px;
height: 40px;
float: left;
margin: 10px;
border:1px solid #ccc;
}
.herocheckbox input {
position: absolute;
left: -11000px;
}
</style>
为什么在点击label后,弹出两次框?而不是一次?
将里面的input 清空后就剩下一次。
将label 改成p 也是一次
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这个例子真是奇葩。。

网页中的节点会继承上级节点的事件:http://bazhuang.iteye.com/blog/163011
在chrome里看到点击了lable之后,第一个checkbox的checked为true
也就是说点击label区域实际上是触发了label和第一个checkbox的onlick方法