xav*_*ier 3 javascript microsoft-edge
当我使用 Edge/IE 单击某处时,我希望能够检测到路径。对于所有其他浏览器,我可以使用event.composedPath(),但 Edge 和 IE 不支持它。
我一直在环顾四周,我只发现页面不鼓励使用path和使用composedPath(),但我没有找到任何关于 Edge 的参考。
请帮忙!
您可以尝试检查此 polyfill 可能有助于获得组合路径。
// Event.composedPath
(function(e, d, w) {
if(!e.composedPath) {
e.composedPath = function() {
if (this.path) {
return this.path;
}
var target = this.target;
this.path = [];
while (target.parentNode !== null) {
this.path.push(target);
target = target.parentNode;
}
this.path.push(d, w);
return this.path;
}
}
})(Event.prototype, document, window);
Run Code Online (Sandbox Code Playgroud)
像下面这样使用它:
var path = event.path || (event.composedPath && event.composedPath());
Run Code Online (Sandbox Code Playgroud)
参考:
(1) Firefox 和 Vue.js 未定义 event.path
(2) rockinghelvetica/composedpath.polyfill.js
除此之外,我没有任何替代方法或解决方法来为 IE 和 Edge 浏览器获取 Event.Composedpath。
| 归档时间: |
|
| 查看次数: |
1386 次 |
| 最近记录: |