JQuery自定义事件没有触发/捕获

时间:2016-10-01 00:33:05

标签: jquery jquery-events

我正在动态加载一些脚本,如下所示:

//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

1 个答案:

答案 0 :(得分:1)

事件名称不能包含空格。

你必须使用像

这样的事件名称
$('body').on('ShippingAddressWidgetLoaded', function() {...

或命名事件

$('body').on('ShippingAddressWidget.loaded', function() {...

FIDDLE