完了すると、を介してイベントをトリガーするライブラリを使用しています$(document).trigger('playlistDone');
。私はこのトリガーを聞いていますが、alert()
期待しているものが得られません。
$(document).bind('playlistDone', function() {
alert('done');
});
私は何が間違っているのですか?
完了すると、を介してイベントをトリガーするライブラリを使用しています$(document).trigger('playlistDone');
。私はこのトリガーを聞いていますが、alert()
期待しているものが得られません。
$(document).bind('playlistDone', function() {
alert('done');
});
私は何が間違っているのですか?
まず、jQuery 1.7の時点で、イベントをアタッチするための推奨される方法はon
、ではありませんbind
(http://api.jquery.com/on/を参照)。
次に、基本的な構文は問題ないように見えますが、ブラウザイベントではなく、カスタムイベントを処理していることを理解することが重要です。これは、ライブラリがイベントをトリガーするためにjQueryを使用している必要があることを意味します。そうでない場合、jQueryはイベントが発生したときにそれを検出しません。
.on()を使用します。jQueryドキュメントから:
.on()メソッドは、jQueryオブジェクトで現在選択されている要素のセットにイベントハンドラーをアタッチします。jQuery 1.7以降、.on()メソッドはイベントハンドラーのアタッチに必要なすべての機能を提供します。
そのようなことを試してください:
$(document).on('playlistDone', function( a ) {
alert( a );
});
と
var data = 'Done';
$(document).trigger('playlistDone', data );