Pet*_*tah 3 javascript jquery events mouseevent
mouseenter是否有 IE 事件/ (或 jQuery 事件的转换)的填充mouseleave,以便它可以绑定到原始 JS 事件?
IE I 有跨浏览器的方法来做到这一点:
node.addEventListener('mouseenter', function() {
...
});
node.addEventListener('mouseleave', function() {
...
});
Run Code Online (Sandbox Code Playgroud)
我知道应该可以使用以下自定义事件:
var event = new Event('mouseenter');
node.addEventListener('mouseenter', function (e) { ... });
node.dispatchEvent(event);
etc
Run Code Online (Sandbox Code Playgroud)
好吧,看来我知道该怎么做了:
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'));
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
842 次 |
| 最近记录: |