jQueryの派遣イベントからプラグインで複数のリスナーにディスパッチ
質問
を探していなければならないというニーズの派遣イベントからのjQueryプラグインできるように複数のリスナーがイベントです。私のプラグイン設定にすることへの参照を返しまそのものができるように追加リスナー後の公開方法。
唯一の例を見てこれまで単一のイベントハンドラの例:
$.fn.foo = function( options ) {
...
// trigger event
options.eventHandler();
}
$('#bar').foo({ eventHandler: myEventHandler })
私だけのオプションしていたんですが、それをたまたしていない配列の登録イベントハンドラを呼び出し、または私を失っております。
解決
いて投入配列のコンストラクタ-オプションオブジェクトです。ここでは通常行います。
$("").plugIn(
{
prop: "value",
foo: "bar",
eventsToFire: [
function () { },
function () { },
function () { }
]
});
のプラグインいう、日本
と書いているプラグインで実行されるコレクションに納めるものです。
jQuery.fn.plugIn = function (options)
{
return this.each(function ()
{
var i = options.eventsToFire.length;
while (i--) options.eventsToFire[i]();
});
};
他のヒント
なぜそれを介してアレイとループを使用していませんか?以下のコードは、アレイと単一のイベントハンドラの両方を受け入れます。
$.fn.foo = function( options ) {
...
// trigger event
if(typeof eventHandler == "Array"){
for(var i=0; i<eventHandler.length; i++){
options.eventHandler[i]();
}
}else{
options.eventHandler();
}
}
$('#bar').foo({ eventHandler: [myEventHandler, anotherEventHandler] })
所属していません StackOverflow