gpt4 book ai didi

javascript - jquery dblclick事件无法停止事件传播

转载 作者:行者123 更新时间:2023-11-28 12:35:16 25 4
gpt4 key购买 nike

我在 div 上双击事件处理程序,然后在按钮(该 div 的子级)上单击事件处理程序。但是当我点击按钮两次时,div的 dblclick 事件发生(参见 http://jsfiddle.net/9dcSk/3/ )。

<!DOCTYPE html>
<html>
<head>
<script src="/bs21/js/jquery-1.10.1.min.js"></script>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css">
body,html {
background:yellow;
}
.myDiv {
background:pink;
padding:40px;
}
</style>
<script>
$( document ).ready( function() {
$('div.myDiv').click( function() {
console.log('div dbl clicked');
} );
$('button.myButton').click( function(event) {
console.log('button clicked');
} );
});
</script>
</head>
<body>
<div class=myDiv>test<button class=myButton>ok</button></div>
</body>
</html>

我试图将 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>');
});

JSFIDDLE:http://jsfiddle.net/javascript/9dcSk/5/

关于javascript - jquery dblclick事件无法停止事件传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17674658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com