1

私のアプリケーションには、いくつかの異なるウィジェットがあります。誰かが変われば、他の人も変わる必要があります。私はそれらを分離したままにしたいと思います。私はあまり JavaScript プログラミングをしたことがないので、これを行う典型的な方法がよくわかりません。

jqueryにキューイングメカニズムがあるので、「小道具Xが値Yを変更しました」というイベントを投稿でき、そのキューに登録されている人に通知できますか? それとも、これはJavaScriptでイベントを処理する典型的な方法ではありませんか?

4

1 に答える 1

4

jquery では簡単で、標準のイベントと同じメカニズムを利用できます。

//register listener for "widget"
$("div#firstWidget").bind("myCustomEvent", function(e){
    alert(e.customFlag);
});

//somewhere else trigger event on widget
var e = $.Event("myCustomEvent");
e.customFlag = "customValue";
$("div#firstWidget").trigger(e);

イベントを保持およびディスパッチするための空のjqueryオブジェクトを作成するグローバルイベントバスを提供することもできます

window.myEventBus = $([]);

//register listener
myEventBus.bind("customEvent", function(e){
    //handle event
});

//fire event
myEventBus.trigger($.Event("customEvent", { numProp:5, boolProp:true }));
于 2012-04-14T15:16:31.910 に答える