jquery中 label 的 click事件执行两次

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery中 label 的 click事件执行两次相关的知识,希望对你有一定的参考价值。

<label class="radio" data-name="chooseAType"><input name="atype" value="0" type="radio"/>点击</label>
如果我给 外层的label 定义一个click事件:$('label.radio').click(function()alert('label click'););
表现为:IE下,执行1次;FF下,执行2次;
FF下,如果里面没有radio input,就不会执行2次;

于是我改成,去掉外层label的click事件,给内层得radio定义事件:$(‘input[name="atype"]').click(function()alert('input click'););
表现为:IE下,除非我有代码执行$(‘input[name="atype"]').click();会执行外,页面上的手动鼠标点击是无响应的。FF下,就反应正常。

请问是为啥?谢谢

参考技术A 试试这个
$('label.radio').die('click').live('click',function()alert('label click'););

参考技术B 用$('label.radio').unbind("click").click(function()alert('label click'););
在click之前加个.unbind("click")

以上是关于jquery中 label 的 click事件执行两次的主要内容,如果未能解决你的问题,请参考以下文章

用C# winForm,一个pannel容器上有许多label,怎样才能使得鼠标点击label时触发的pannel事件呢?

C# 重写LinkLabel控件的click事件

label点击事件重复调用原因与解决办法

如何实现让Java Label控件触发事件

如何解决blur事件和click事件冲突问题

Safari:<label> 元素中的 SVG 似乎不适用于“点击”事件