Javascript 鼠标进入/离开Chrome/Firefox的Polyfill
IE事件Javascript 鼠标进入/离开Chrome/Firefox的Polyfill,javascript,jquery,events,mouseevent,Javascript,Jquery,Events,Mouseevent,IE事件mouseenter/mouseleave(或jQuery事件的转换)是否有polyfill,以便可以绑定到原始JS事件 也就是说,我是否有跨浏览器的方法来实现这一点: node.addEventListener('mouseenter', function() { ... }); node.addEventListener('mouseleave', function() { ... }); 我知道应该可以使用以下自定义事件: var event = new Eve
mouseenter
/mouseleave
(或jQuery事件的转换)是否有polyfill,以便可以绑定到原始JS事件
也就是说,我是否有跨浏览器的方法来实现这一点:
node.addEventListener('mouseenter', function() {
...
});
node.addEventListener('mouseleave', function() {
...
});
我知道应该可以使用以下自定义事件:
var event = new Event('mouseenter');
node.addEventListener('mouseenter', function (e) { ... });
node.dispatchEvent(event);
etc
好吧,看来我知道怎么做了:
node.addEventListener('mouseover', function() {
if (!event.relatedTarget || (event.relatedTarget !== this && !(this.compareDocumentPosition(event.relatedTarget) & Node.DOCUMENT_POSITION_CONTAINED_BY))) {
this.dispatchEvent(new Event('mouseenter'));
}
});
node.addEventListener('mouseout', function() {
if (!event.relatedTarget || (event.relatedTarget !== this && !(this.compareDocumentPosition(event.relatedTarget) & Node.DOCUMENT_POSITION_CONTAINED_BY))) {
this.dispatchEvent(new Event('mouseleave'));
}
});