mousewheel事件的target
属性提供了当鼠标轮(或具有手势功能的触摸板)正在操作时鼠标当前悬停的DOM元素。
当我这样做时(至少在Safari 6中,我稍后会测试其他浏览器)我会将文本节点本身作为target
。
即使我直接在文本上执行操作,也不会发生总是产生非文本节点的其他事件。
毋庸置疑,它使代码更加复杂。
这有什么理由吗?我想避免检查父节点,但幸运的是,这种情况的好处是我只需要检查target
节点的父节点。
我无法确定这是一个功能还是一个错误。
答案 0 :(得分:5)
这里是jQuery代码的a snippet,他们将这种行为规范化,因为它是一个错误:
// Target should not be a text node (#504, Safari)
if ( event.target.nodeType === 3 ) {
event.target = event.target.parentNode;
}