onclick事件执行2次

代码

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>教程</title> </head> <body>

<p>测试label标签导致onclick触发2次</p> <p id="demo"></p>

<form> 
<ul> <li onclick="fun\_1('male')" > <label for="male">Male</label> <input type="radio" value="0" name="sex" id="male" /> </li> 		<li onclick="fun\_1('female')"> <label for="female">Female</label> <input type="radio" value="1" name="sex" id="female" /> 		</li> 
</ul>
</form>

<script src="[https://code.jquery.com/jquery-3.1.1.min.js](https://code.jquery.com/jquery-3.1.1.min.js)"></script> 
<script type="text/javascript">
function fun_1(id){
	alert($("#"+id).val());
}
</script>

</body> </html>

每次点击都会弹窗2次;

原因是label标签导致的,需要将onclick事件绑定或放到label包括的元素内。修改成如下

最终代码如下:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>教程</title> </head> <body>

<p>测试label标签导致onclick触发2次</p> <p id="demo"></p>

<form> 
<ul> 
	<li > <label for="male">Male</label> <input type="radio" onclick="fun\_1('male')" value="0" name="sex" id="male" /> </li> 	  <li> <label for="female">Female</label> <input type="radio" onclick="fun\_1('female')" value="1" name="sex" id="female" /> 	 </li>
</ul>
</form>
<script src="[https://code.jquery.com/jquery-3.1.1.min.js](https://code.jquery.com/jquery-3.1.1.min.js)"></script> 
<script type="text/javascript">
	function fun_1(id){
		alert($("#"+id).val());
	}
</script>

</body>
</html>

转载于:https://my.oschina.net/u/2301293/blog/2982342

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值