0

我正在尝试调试我的问题。我已经导入了一个库,该库将从播放列表中提取 YouTube URL。一旦这个库完成提取过程,它将触发一个带有$(document).trigger('playlistDone');. 然后我通过以下方式监听事件:

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

我从来没有收到警报。我的网站目前很大,所以很难调试。我已经通过创建一个空白页面验证了该库确实在工作,并且该库确实触发了触发器。这使我相信我网站上的某些东西导致了问题。

我也做过:

$(document).on('click', function() {
   alert( 'done' );
}); 

验证默认事件没有被禁用。我的下一步是确定是否以某种方式禁用了自定义事件。

需要注意的是,我的网站使用的是 Bootstrap 和 Twig。我祈祷他们不对我的问题负责。

4

1 回答 1

1

如果不查看更多源代码就很难判断,但找出事件是否已注册的一种方法是检查事件数据对象。

例子

JS

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

//jQuery 1.8+
alert($._data(document, 'events').playlistDone); 
alert($._data(document, 'events').playlistDone.length); 

//Execute the first event
$._data(document, 'events').playlistDone[0].handler();

// < jQuery 1.8
//alert($.data(document, 'events').myCustomevent); ​
于 2012-11-09T00:59:45.293 回答