2016-10-01 4 views
0

я загружаю некоторые скрипты динамически следующим образом:JQuery пользовательского события не стрельбы/пойманы

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

Имена событий не могут содержать пробелов.

Вы должны либо использовать название события, как

$('body').on('ShippingAddressWidgetLoaded', function() {... 

или пространство имен событию

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

FIDDLE

+0

Вы правильны, и большой jsFiddle например, тоже. Тем не менее, я не смог найти допустимый набор символов имени события, зарегистрированный в любом месте. –