在做页面时,第一次出现这么奇怪现象,记录下解决方法。

问题:label jquery单击一次元素事件被执行了两次

<label class="checkbox" check="false">
</label>
<script>
$('.checkbox').click(function(){
    let x = $(this).attr("check");
    console.log(x);  
});
</script>

 

 一种修复方法是将return false;添加到单击处理程序中:

<label class="checkbox" check="false">
</label>
<script>
$('.checkbox').click(function(){
    let x = $(this).attr("check");
    console.log(x);  
    return false;
});
</script>

 

 您还可以对事件对象调用.preventDefault(),以防止它被调用两次:

<label class="checkbox" check="false">
</label>
<script>
$('.checkbox').click(function(e){
    let x = $(this).attr("check");
    console.log(x);  
    e.preventDefault();
});
</script>

两种方法都能达到效果,可自行选择 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐