Javascript jquery 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(“单击按钮”); } ); });

我在div上双击事件处理程序,然后单击按钮上的事件处理程序,这是div的子级。 但是,当我单击按钮2次时,就会发生div的dblclick事件(请参阅)。


正文,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>');
   });