javascript - 当鼠标悬停在子可滚动 HTML 元素上时,如何使用鼠标滚轮移动父滚动条?

标签 javascript jquery html css

我有以下问题。我有父 div,其中包含几个子 div。 parent 和 child 都有滚动条。当我的鼠标悬停在该元素上时,我只想移动父元素的滚动条,无论鼠标是否悬停在可滚动的子 div 上。换句话说,我想阻止对子事件的事件处理并将事件传播给父事件。像这样:

<div id='parent' style='overflow-y:auto;height:200px;width:100%'>
    <div class='child' style='overflow-y:auto;height:100px'>
    </div>
    <div class='child' style='overflow-y:auto;height:100px'>
    </div>
    <div class='child' style='overflow-y:auto;height:100px'>
    </div>
</div>

<script>
    $('.child').bind('mousewheel DOMMouseScroll', function(e) {
        $(e.target).parent().trigger(e);
    });
</script>

注意:jQuery 是允许的。

最佳答案

感谢@DavidFregoli,这是正确的解决方案:

$('.child').on('mousewheel DOMMouseScroll', function(e) {
    var $div = $(this),
    $parent = $div.parent(),
    scrollAmount = 30,
    currentScroll = $parent.scrollTop(),
    newScroll = currentScroll + (e.originalEvent.wheelDelta < 0 ? scrollAmount : -scrollAmount);
    $parent.scrollTop(newScroll);
    return false;
});

整个代码是here

关于javascript - 当鼠标悬停在子可滚动 HTML 元素上时,如何使用鼠标滚轮移动父滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24929074/

相关文章:

javascript - jquery年月排序数组

javascript - 如何从两个对象中获取对应的值

javascript - 没有所有切片的 HIghcharts 圆环图

javascript - 使用 PHP 和 JQuery 创建幻灯片

jquery - 按钮在函数调用时丢失格式

javascript - 如何使用 javascript 提醒 HTML 标记 <td> 的内部 HTML

javascript - JS addEventListener 参数

javascript - 水平向右滚动到元素

html - 嵌套列/行

html - 帮助去除 IE 中输入按钮焦点上的黑边框