2011-08-04 17 views
2

ページの読み込み後にイベントをトリガーしてバインドするにはどうすればよいですか?jQueryのトリガとページの読み込み時のイベントへのバインド?

私が午前問題は、一つの場所に、ページの読み込みに、私はイベントを発生することを示します。

//producer.js 
pageLoaded(){ 
    var e = jQuery.Event("eventA"); 
    $("body").trigger(e); 
    ...} 

と別で、私はそれにバインド:

//consumer.js 
pageLoaded(){ 
    $("body").bind("eventA", function(args){console.log("Got it!");}); 
    ... } 

問題があることです最初のイベントが発生したとき(ページが読み込まれたとき) - 消費者はそれを見ない。 2回目のイベントは発生しますが、すべて正常です!

私が推測しているのは、消費者が聞き取り始める前にイベントが実際に発せられているからです。

イベントの「トリガー」と「リスナー」を作成する際には、ページの読み込みとそれ以降の両方で機能する必要があります。

答えて

0

を助けるかもしれない...呼び出すには、最初のロード1のJavaScriptファイルに私をできるようになりますし、もう1つ。

だから、私は理解して

1

イベントをトリガーしたときにリスナーがない場合、最初のトリガーで何も表示されない理由は何も起こりません。

+0

consumer.jsproducer.jsを依存させることができますが、この問題を回避することができますどのように?私は実際には、ページの読み込み時にイベントが「捕まえられる」必要があります。しかし、私はまた、それがページの読み込み時に起動される必要があります。これは狂気です!!! – drozzy

+0

次にconsumer.jsがproducer.jsの前にロードされていることを確認してください – ShankarSangoli

+0

@drozzy - 私の答えが意味をなさないのであれば、それを受け入れてください。 – ShankarSangoli

0

あなたがdocument.readyの順序を(制御する必要があるような音)が、おそらくthis questionまたはthis articleに対する応答がRequireJSのようなものを使用して、あなたに

関連する問題