我发现Safari不支持Jquery的click()。
所以我有点击事件的以下两个实现:
对于Safari:
var foo = document.getElementById(some_id.id);
var ce= document.createEvent("MouseEvent");
ce.initEvent("click", true, true);
foo.dispatchEvent(ce);
对于Safari以外的其他浏览器:
document.getElementById(some_id.id).click();
现在,我的问题是,如果我将两个部分放入我的代码中,我必须应用某种条件来检查,如果一个失败,则使用另一个。然而,我无法找到检查它的方法。
当我使用document.getElementById(some_id.id).click(); Safari出现以下错误:
TypeError:'undefined'不是函数(评估'document.getElementById(del_id.id).click()')
我怎样才能捕获并处理此错误,或检查条件中是否发生此错误?所以我可以让代码尝试另一块?
我试过typeof (document.getElementById(some_id.id).click()) == undefined
但没有运气。
谢谢,
答案 0 :(得分:1)
删除括号。在您的比较中仅使用:.click === undefined
。