Javascript 分区';在Chrome中单击复选框时始终调用s事件
我将在元素上绑定两个事件,如下所示:Javascript 分区';在Chrome中单击复选框时始终调用s事件,javascript,jquery,events,Javascript,Jquery,Events,我将在元素上绑定两个事件,如下所示: <div class="view"> <input type="checkbox" class="edit"> </div> $(function(){ $(".view").bind('dblclick', show1); $(".edit").bind('click',show2); }); function show1(){ console.info('here'); } fun
<div class="view">
<input type="checkbox" class="edit">
</div>
$(function(){
$(".view").bind('dblclick', show1);
$(".edit").bind('click',show2);
});
function show1(){
console.info('here');
}
function show2(){
console.info('hi');
}
function show2(e){
e.stopPropagation();
console.info('hi');
}
$(函数(){
$(“.view”).bind('dblclick',show1);
$(“.edit”).bind('单击',显示2);
});
函数show1(){
console.info('here');
}
函数show2(){
控制台信息(“hi”);
}
这在Firefox中很正常,但在Chrome中,每次单击复选框时都会调用div事件
仅供参考:这称为事件冒泡。请执行以下操作:
<div class="view">
<input type="checkbox" class="edit">
</div>
$(function(){
$(".view").bind('dblclick', show1);
$(".edit").bind('click',show2);
});
function show1(){
console.info('here');
}
function show2(){
console.info('hi');
}
function show2(e){
e.stopPropagation();
console.info('hi');
}
这叫做事件冒泡。请执行以下操作:
<div class="view">
<input type="checkbox" class="edit">
</div>
$(function(){
$(".view").bind('dblclick', show1);
$(".edit").bind('click',show2);
});
function show1(){
console.info('here');
}
function show2(){
console.info('hi');
}
function show2(e){
e.stopPropagation();
console.info('hi');
}
情况并非如此,因为事件不同:
dblclick
和单击
。我在Firefox中也有同样的行为,这是意料之中的。事实并非如此,因为事件是不同的:dblclick
和click
。我在Firefox中的行为与预期的相同