在Android Stock浏览器上,我得到“在某些DOM元素上没有方法'点击'”(如 a 标记),而它在其他浏览器上运行。因此,我正在尝试创建一个条件来检查方法是否存在。这是我到目前为止所得到的:
<a href="test" id="test">test</a>
if (typeof document.getElementById('test').click === 'function') {
alert('it has');
} else {
alert('it has not');
}
这似乎有效,但我想知道这是否是正确的做法以及是否跨浏览器兼容。
答案 0 :(得分:5)
尝试此列出所有元素的方法:
var el= document.getElementById('test');
for(var i in el){
if(typeof el[i] == "function")
console.log(i + " is function. ") //+ el[i])
}
以同样的方式,您可以在使用之前检查方法是否存在:
if( typeof el["click"] == "function")
el.click();