Javascript 检查浏览器中是否有.click()函数
我正在构建一个应用程序,它在几个地方使用Javascript 检查浏览器中是否有.click()函数,javascript,Javascript,我正在构建一个应用程序,它在几个地方使用。click()方法。据报告,它在safari(windows版本)中导致错误,因为它在浏览器中不可用 我做了一些研究,找到了很好的替代方案,我为它创建了一个polyfill解决方案,但我正在努力寻找如何检查浏览器是否支持。单击()方法 我尝试了以下几点: Element.prototype。单击返回所有浏览器中未定义的 元素。单击返回所有浏览器中未定义的 document.prototype.单击返回所有浏览器中未定义的 文档。单击返回所有浏览器中未定
。click()
方法。据报告,它在safari(windows版本)中导致错误,因为它在浏览器中不可用
我做了一些研究,找到了很好的替代方案,我为它创建了一个polyfill解决方案,但我正在努力寻找如何检查浏览器是否支持。单击()
方法
我尝试了以下几点:
返回所有浏览器中未定义的Element.prototype。单击
返回所有浏览器中未定义的元素。单击
返回所有浏览器中未定义的document.prototype.单击
返回所有浏览器中未定义的文档。单击
Element.prototype.click = function() {
var click_ev = document.createEvent("MouseEvents");
click_ev.initEvent("click", true /* bubble */, true /* cancelable */);
this.dispatchEvent(click_ev);
};
现在,我只需要检查它并仅在
不可用时应用。单击()
。只需检查新创建的dom元素的事件是否存在:
if (!document.createElement('div').click) {
Element.prototype.click = function() {
var click_ev = document.createEvent("MouseEvents");
click_ev.initEvent("click", true /* bubble */, true /* cancelable */);
this.dispatchEvent(click_ev);
};
}
您可以验证
yourlement。单击
if(!(yourElment.click)){
// click doent exist
Element.prototype.click = function() {
var click_ev = document.createEvent("MouseEvents");
click_ev.initEvent("click", true /* bubble */, true /* cancelable */);
this.dispatchEvent(click_ev);
};
}
据我所知,click()
在任何地方都受支持。选中:if('click'在document.documentElement中)
HtmleElement.prototype。单击
可能就是您想要的after@PatrickMevia:如果这回答了您的问题,请将其标记为已解决!当然我会的;)我只是还不能,它说在5分钟内我将能够,顺便说一句,这个答案是最好的,因为它在全球范围内,真的很好!document.getElementsByTagName(“BODY”)[0]。单击也可以,为什么要创建新元素