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 に答える