2010-11-29 15 views
5

私はどのように私のウィンドウにイベントをディスパッチできますか? は、例えば、私のコードで私が持っている:jQueryディスパッチイベント?ハウツー

$("#info").click(function(){ 
// do stuff 
}); 

私は//がものを行う方法で、この関数に#infoのクリックを持っていない最初の時間を呼び出す必要があります。

$('#info').trigger('click'); 

または単に:

$('#info').click(); 

同じになる

+5

あなたに役立つ答えの横にあるチェックマークをクリックしてください。 – cspolton

答えて

11

あなたが.trigger()メソッドを使用することができます。

+0

不必要なイベントの連鎖は避けてください。アプリが複雑な場合は、最終的にあなたを台無しにするでしょう。このイベントはDOMの一番下にバブルし、他の機能に問題を引き起こす可能性があります。ドキュメントの準備が整った状態でメソッドを実行したい場合は、すぐにドキュメントを準備して実行してください。コンテキストを与える必要がある場合は、applyを使用してください。私は下の答えが死んでいるのでこれを投票するつもりです。 –

+0

この回答は素晴らしい.. upvote – stack

11

より良い方法は、必要なものを実行する関数を作成することです。次に$(document).ready(myFunc);$("#info").click(myFunc);を実行します。

+2

ビッグ+1人々は彼らがウェブアプリだからちょうど彼らが正しいデザインを放棄できると思うようだ。 –

+0

@ T.J。 - もし関数がボタンである文脈で書かれていれば、イベントをトリガするのがはるかに簡単でコードが少なくなるかもしれません。 –

+0

@ニック:コードが複数のコンテキスト(ボタンクリックに対する応答だけでなく)で実行されることを意図している場合、それはそれ自身の関数であり、*複数の場所から*呼び出されるべきです。私は、それが "イージー"であることをトリガするために 'クリック 'を使用することは全くわかりませんが、IMHOでもそれは良い考えではありません。 (人**は時々私に同意しないことが知られています;-)) –

関連する問題