2012-10-30 15 views
7

:それはそれが動作することが不可欠であることから、私は.click()メソッドをサポートするブラウザ何を思っていた.click()メソッド、ブラウザのサポート、私は次のように<code>.click()</code> JSメソッドを使用したい

document.getElementById(id).click(); 

をしかし、持っている。

+2

ブラウザ間の互換性が本当に心配な場合は、jQueryなどのJSライブラリを使用することをおすすめします。 –

+0

jQueryの '.click()'メソッドに代わるものが分かりますか? – ghego1

+2

['.click'](http://api.jquery.com/click/)メソッド:-) –

答えて

1

私が遭遇した唯一のブラウザは、.click()をサポートしていない唯一のブラウザはSafariです。 Safariは、ボタン(例えば<input type="button" />)では.click()をサポートしますが、アンカー要素など他の要素(例えば<a href="#">Click Me</a>)ではサポートしていません。サファリのために

、あなたは回避策を使用する必要があります:上記の機能を使用して

function click_by_id(your_id) 
{ 
    var element = document.getElementById(your_id); 
    if(element.click) 
     element.click(); 
    else if(document.createEvent) 
    { 
     var eventObj = document.createEvent('MouseEvents'); 
     eventObj.initEvent('click',true,true); 
     element.dispatchEvent(eventObj); 
    } 
} 

を、あなたはブラウザの90%の+をサポートすることができます。

IE7-10、Firefox、Chrome、Safariでテスト済みです。

+0

古い質問があっても、私が取り組んでいた小さなプロジェクトで、まだSafariとClick()フリーの問題で困っていました。 – ghego1

0

MDNによると、HTMLElement.click()はChrome 20+、Firefox 5+、Safari 6+でサポートされています。しかし、それはmight be inaccurateです。

関連する問題