在做页面时,第一次出现这么奇怪现象,记录下解决方法。
问题: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>
两种方法都能达到效果,可自行选择