我正在动态加载一些脚本,如下所示:
//fileA.js
$('body').on('LoginWidget', function() {
$.cachedScript('/js/min/AddressWidgets.min.js').done(function() {
extend(AddressBookWidget, ShippingAddressWidget);
console.log("throwing event")
$('body').trigger('ShippingAddressWidget loaded');
});
});
然后:
//fileB.js
$(document).ready(
function() {
console.log("catching event")
$('body').on('ShippingAddressWidget loaded', function() {
// do stuff
});
...
在控制台中,我看到:
catching event
throwing event
但是没有触发事件捕手。 jquery 2.1.2
答案 0 :(得分:1)
事件名称不能包含空格。
你必须使用像
这样的事件名称$('body').on('ShippingAddressWidgetLoaded', function() {...
或命名事件
$('body').on('ShippingAddressWidget.loaded', function() {...