Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 子元素及其父元素的鼠标滚轮处理程序_Javascript_Jquery_Html_Css_Mousewheel - Fatal编程技术网

Javascript 子元素及其父元素的鼠标滚轮处理程序

Javascript 子元素及其父元素的鼠标滚轮处理程序,javascript,jquery,html,css,mousewheel,Javascript,Jquery,Html,Css,Mousewheel,我制作了一个jQuery插件,它用我自己的滚动条替换默认的滚动条,并处理鼠标移动和拖动滚动条事件 当我将滚动条上的内容放入滚动条上的另一个内容时,如果我在子内容上使用鼠标滚轮,则父内容也会使用鼠标滚轮 之所以会发生这种情况,是因为我将mousewheel事件侦听器同时绑定到了子内容和父内容,当我将鼠标移到这两个内容上时,它会触发这两个事件处理程序 问题是,我需要在不影响父内容的情况下仅控制子内容 你有什么办法解决这个问题吗?拖动滚动条事件可以正常工作。您需要停止事件的传播。这将阻止事件在DOM树

我制作了一个jQuery插件,它用我自己的滚动条替换默认的滚动条,并处理鼠标移动和拖动滚动条事件

当我将滚动条上的内容放入滚动条上的另一个内容时,如果我在子内容上使用鼠标滚轮,则父内容也会使用鼠标滚轮

之所以会发生这种情况,是因为我将mousewheel事件侦听器同时绑定到了子内容和父内容,当我将鼠标移到这两个内容上时,它会触发这两个事件处理程序

问题是,我需要在不影响父内容的情况下仅控制子内容


你有什么办法解决这个问题吗?拖动滚动条事件可以正常工作。

您需要停止事件的传播。这将阻止事件在DOM树中冒泡并触发父元素

如果你注释掉e.stopPropagation;您会注意到,这两个警报都会触发

文件:


请分享您正在使用的一些代码,以便我们可以复制您的问题A 1000谢谢。看来我没有足够的声誉来感谢你。你应该能够选择这个作为“最佳答案”,这通常会让别人知道你的问题已经解决了。您可以使用更多功能解锁upvoting功能。
$('body').on('mousewheel', function (e) {
  alert('Body scroll');
});

$('.child').on('mousewheel', function (e) {
  e.stopPropagation();

  alert('Child scroll only');
});