У меня есть следующий код, который запускает пользовательское событие с именем:dispatchEvent не вызывает jQuery.on() событие слушатель
elem.addEventListener('click', function (event)
{
event.preventDefault();
// Do some processing stuff
var event = new Event('custom_event');
this.dispatchEvent(event);
});
Если я пытаюсь поймать пользовательское событие с jQuery.on() он работает, но только когда я не использую фильтр селектора потомков.
Так это работает:
$('selector').on('custom_event', function() { // works });
Но это не делает:
$(document).on('custom_event', 'selector', function() { // doesn't work });
Может кто-нибудь пролить некоторый свет на то, почему это? Вот Fiddle, показывающий проблему.
Конечно, если вы уже используете JQuery, вы можете использовать '$ (это) .trigger ("custom_event")', но я предполагаю, что у вас есть * причина * для прямого кода DOM в приведенном выше (возможно, не-jQuery-библиотеке, которую вы хотите совместить с кодом jQuery, используя это?). –
Да, именно по этой причине :) – Bogdan
Ницца! ..... –