Javascript jquery dblclick事件无法停止事件传播
我在div上双击事件处理程序,然后单击按钮上的事件处理程序,这是div的子级。 但是,当我单击按钮2次时,就会发生div的dblclick事件(请参阅)。Javascript jquery dblclick事件无法停止事件传播,javascript,jquery,Javascript,Jquery,我在div上双击事件处理程序,然后单击按钮上的事件处理程序,这是div的子级。 但是,当我单击按钮2次时,就会发生div的dblclick事件(请参阅)。 正文,html{ 背景:黄色; } myDiv先生{ 背景:粉红色; 填充:40px; } $(文档).ready(函数(){ $('div.myDiv')。单击(函数(){ log('div dbl clicked'); } ); $('button.myButton')。单击(函数(事件){ log(“单击按钮”); } ); });
正文,html{
背景:黄色;
}
myDiv先生{
背景:粉红色;
填充:40px;
}
$(文档).ready(函数(){
$('div.myDiv')。单击(函数(){
log('div dbl clicked');
} );
$('button.myButton')。单击(函数(事件){
log(“单击按钮”);
} );
});
testok
我试图添加
e.stopPropagation()
以单击事件,但这没有帮助。您应该做的是在div调用之前双击按钮返回false
即:
$('button.myButton').click( function(e) {
$('div#log').append('<div>btn clicked</div>');
});
$('button.myButton').dblclick( function(e) {
return false
});
$('div.myDiv').dblclick( function(e) {
$('div#log').append('<div>div dblclicked</div>');
});
$('button.myButton')。单击(函数(e){
$('div#log')。追加('btn clicked');
});
$('button.myButton').dblclick(函数(e){
返回错误
});
$('div.myDiv').dblclick(函数(e){
$('div#log')。追加('div dblclicked');
});
JSFIDDLE:这就可以了
$('div.myDiv').dblclick( function(e) {
if(e.target.nodeName === "BUTTON" ){
return false;
}
$('div#log').append('<div>div dblclicked</div>');
});
$('button.myButton').click( function(e) {
$('div#log').append('<div>btn clicked</div>');
});
$('div.myDiv').dblclick(函数(e){
if(e.target.nodeName==“按钮”){
返回false;
}
$('div#log')。追加('div dblclicked');
});
$('button.myButton')。单击(函数(e){
$('div#log')。追加('btn clicked');
});
您想要实现什么?当我单击按钮时,不必发生div的dblclick事件
$('div.myDiv').dblclick( function(e) {
if(e.target.nodeName === "BUTTON" ){
return false;
}
$('div#log').append('<div>div dblclicked</div>');
});
$('button.myButton').click( function(e) {
$('div#log').append('<div>btn clicked</div>');
});