2013-06-05 57 views
0

在Android股票瀏覽器上,我可以在某些DOM元素(如標籤)上「沒有方法」點擊「」,而在其他瀏覽器上工作。因此,我試圖創建一個條件來檢查方法是否存在。這是我到目前爲止有:正確的方法來檢查一個DOM元素對象是否有一個特定的方法?

<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/

這似乎是工作,但我想知道,如果它是這樣做的正確的方法,如果它是跨瀏覽器兼容。

+2

看起來不錯。如果沒有HTML並選擇了一些東西,你也可以使用'document.createElement(「a」)。click' – Bergi

回答

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(); 
+1

OP似乎並不想列出所有的方法。你爲什麼暗示它? –

+0

@FelixKling你好菲利克斯,你說得對,我剛剛編輯了我的答案 – Cherniv

+0

謝謝!這比我原來的文章中的方法更好嗎? – user1767586

相關問題