2011-12-04 9 views
1

ウェブサイトの次のコードがあります。javascriptでdiv-buttonを押す方法は?

<ul class="left"> 
    <li><div id="run" class="button"><div class="inner">Run</div></div></li> 
</ul> 

をそしてこのスクリプト:

$("#run").click(function() {...}); 

は、次のコードは動作しません:(

「ファイル名を指定して実行ボタンを押す方法
document.getElementById('run').click(); 

! "javascriptコマンドでブラウザにアクセスしますか?

ありがとうございました!

+0

はあなたが動的に(マウスクリックなし)]ボタンをクリックしますか、またはあなたがdiv要素にクリックイベントを追加したいですか? – Will

+0

ボタンを動的にクリック – Dmitry

+0

コードの2番目のブロック*は* jQueryでした。あなたは実際に* jQueryを使用していますか、または答えは純粋な/プレーン/バニラのJavaScriptにする必要がありますか? (jQueryが受け入れられる場合は、[tag:jquery]タグを追加することを検討してください) –

答えて

2

古き良きJavascriptを:jQueryので

var evt = document.createEvent("MouseEvents"); 
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
var run = document.getElementById("run"); 
run.dispatchEvent(evt); 

:手動マウスイベントを発射aboute

$("#run").click(); 

もっとdocs

+0

最初に動作します!ありがとうございました – Dmitry

+0

@Altaveron '$("#run ")と何が間違っていたのですか?何も問題がなかったのですか? –

+0

ちょうどうまくいきませんでした。なぜか分かりません。 – Dmitry

0

外側のdivタグにonclick="run()"を追加します。 テキストを選択しないように、onselectstart="return false"を追加することができます。

+2

私はそれがOPが求めているとは思わない。 –

+0

ああ、私は編集を見ませんでした。 –

6

(あなたが既に使用していることが表示されます)jQueryを使って行うことが非常に簡単:

$("#run").click(); 

彼らが言うように、RTFD:http://api.jquery.com/click

+0

Do32も動作しません:( – Dmitry

+1

@Altaveronは「動作しません」と定義しています。何を達成しようとしていますか?おそらくhttp:// jsfiddle経由で[SSCCE](http://sscce.org)をご覧ください。あなたがより良い解決策を望むなら、より良い問題記述を与えてください。 –

3

試してみてください。

$('#run').trigger('click'); 
+0

マウスのクリックが効きました! – Dmitry

+0

これは実際には意図した通りです。この[FIDDLE ](http://jsfiddle.net/jGzGZ/)。一方、それはあなたが望んでいるように正確に動作しないかもしれませんが、おそらくあなたの達成しようとしていることの悪い説明のためでしょう。ボタンで、これは行く方法です、あなたが何か他のことをしようとしているなら、それを少しベットしてくださいter。 – adeneo

1
$("#run").click(function() { /* ... */ }).trigger('click'); 
+0

すべての機能コードを繰り返しますか? – Dmitry

+1

いいえ、あなたのスクリプトのどこにでもクリックイベントを誘発するだけです。 (イベントがofcにバインドされた後) – JSninja