将鼠标滚轮事件从父级传递给子级

时间:2016-03-04 21:06:00

标签: javascript google-chrome scroll mouseevent smooth-scrolling

我有一个大父母div和狭窄的儿童div在它的中心 当我将鼠标滚轮滑过孩子时,它会按原样滚动,
但是我希望能够滚动那个子元素,即使鼠标不在它上面,但在父元素的某处,滚动鼠标滚轮。

我将事件从父母传递给孩子,如下所示:

parent.addEventListener('mousewheel', parentMouseWheel);

function parentMouseWheel(e) {
  if (e.target.id === 'parentId') { //to prevent double events when mouse is over child
   if (e.wheelDelta > 0) child.scrollTop = child.scrollTop - 120;
    else  child.scrollTop = child.scrollTop + 120;
  }
}

这样可行,但问题是,没有平滑的滚动,就像我将鼠标滚轮滑过孩子一样(可能是因为强迫/传递这样)。
那么,有没有其他方法将鼠标滚轮事件传递给子,这也会触发平滑滚动? 我的扩展选项页面样式,如果这意味着什么......

0 个答案:

没有答案