mousewheel 事件的 target
属性提供了在操作鼠标滚轮(或支持手势的触摸板)时鼠标当前悬停在其上的 DOM 元素。
当我这样做时(至少在 Safari 6 中,我稍后会测试其他浏览器)我将获取文本节点本身作为 target
。
即使我直接在文本上执行操作,其他事件也不会发生这种情况,这些事件总是产生非文本节点。
不用说,它使代码比其他方式更复杂。
这是有原因的吗?我想避免必须检查父节点,但值得庆幸的是,这种情况的好处是我只需要检查 target
节点的父节点。
我无法确定这是功能还是错误。
最佳答案
这是 a snippet在 jQuery 代码中,他们将此行为规范化,因为这是一个错误:
// Target should not be a text node (#504, Safari)
if ( event.target.nodeType === 3 ) {
event.target = event.target.parentNode;
}
关于javascript - 为什么 mousewheel 事件的 target 属性与其他(click、mousedown、touchstart)事件的不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14109763/