相关疑难解决方法(0)

停止从点击处理程序传播mousedown/mouseup

这是一个演示.

我有两个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)

我尝试停止在处理程序中传播mousedownmouseup事件,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在其他mousedownmouseup调用中调用的工作是什么,如此处所示(另一个DEMO):

$('#inner').on('mousedown', function(e) {
    e.stopPropagation();
    return false;
});

$('#inner').on('mouseup', function(e) {
    e.stopPropagation(); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery mouseevent

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

jquery ×1

mouseevent ×1