我有两个divs,内在和外在:
<div id="outer">
<div id="inner"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用一些CSS,你可以看到哪个是:
#outer {
width: 250px;
height: 250px;
padding: 50px;
background: yellow;
}
#inner {
width: 250px;
height: 250px;
background: blue;
}
Run Code Online (Sandbox Code Playgroud)
我尝试停止在处理程序中传播mousedown和mouseup事件,click如下所示:
$('#inner').on('click', function(e) {
e.stopPropagation();
$(this).css({'background': 'green'});
return false;
});
$('#outer').on('mousedown', function(e) {
$(this).css({'background': 'green'});
});
$('#outer').on('mouseup', function(e) {
$(this).css({'background': 'yellow'});
});
Run Code Online (Sandbox Code Playgroud)
这似乎不可能..stopPropagation在其他mousedown和mouseup调用中调用的工作是什么,如此处所示(另一个DEMO):
$('#inner').on('mousedown', function(e) {
e.stopPropagation();
return false;
});
$('#inner').on('mouseup', function(e) {
e.stopPropagation(); …Run Code Online (Sandbox Code Playgroud)