0

在 Android 股票浏览器上,当它在其他浏览器上运行时,我在某些 DOM 元素(如a标签)上得到“没有方法'点击'” 。因此,我试图创建一个条件来检查该方法是否存在。这是我到目前为止所得到的:

<a href="test" id="test">test</a>

if (typeof document.getElementById('test').click === 'function') {
    alert('it has');
} else {
    alert('it has not');
}

http://jsfiddle.net/Acejt/1/

这似乎有效,但我想知道它是否是正确的方法以及它是否与跨浏览器兼容。

4

1 回答 1

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();
于 2013-06-05T10:56:46.233 回答