如何在这个jsfiddle示例中让滚动停止传播

时间:2012-06-28 11:57:39

标签: javascript jquery html

jsfiddle in question。我想这样做,如果你在'c'div内滚动,它不会传播过'b'div并进入'a'。问题似乎是滚动事件不会像我期望的那样传播。有没有办法让它按照我想要的方式行事?我尝试使用click事件做同样的事情,就像魅力一样。

1 个答案:

答案 0 :(得分:2)

scroll级别太高,与鼠标滚轮没有直接关系,而是滚动项目。

如果您使用mousewheel事件,则可以使用

$('#c').on('mousewheel', function(e){
    $('#console').append('<br />C scrolled!');
});
$('#b').on('mousewheel', function(e){
    e.stopPropagation();
    $('#console').append('<br />B scrolled!');
});
$('#a').on('mousewheel', function(e){
    $('#console').append('<br />A scrolled!');
});

您可以在此处查看当您使用鼠标滚动到C上时,仅显示“C scrolled”和“B scrolled”:http://jsfiddle.net/dystroy/pvxXJ/