0

我正在使用一个库,完成后将通过$(document).trigger('playlistDone');. 我正在听这个触发器,但我没有得到alert()我所期望的。

$(document).bind('playlistDone', function() {
   alert('done');
}); 

我究竟做错了什么?

4

2 回答 2

1

首先,从 jQuery 1.7 开始,附加事件的首选方法是on,而不是bind(参见http://api.jquery.com/on/)。

其次,您的基本语法看起来不错,但重要的是要了解您处理的是自定义事件,而不是浏览器事件。这意味着你的库必须使用 jQuery 来触发它的事件,否则 jQuery 不会在它发生时检测到它。

于 2012-11-08T23:34:57.410 回答
0

使用.on()。来自 jQuery 文档:

.on() 方法将事件处理程序附加到 jQuery 对象中当前选定的元素集。从 jQuery 1.7 开始,.on() 方法提供了附加事件处理程序所需的所有功能。

尝试这样的事情:

$(document).on('playlistDone', function( a ) {
   alert( a );
}); 

var data = 'Done';
$(document).trigger('playlistDone', data );
于 2012-11-08T23:36:20.267 回答