Создать событие DOM из события jQuery - PullRequest
0 голосов
/ 09 мая 2018

Я использую стороннюю библиотеку, которая запускает событие jQuery, и я использую другую стороннюю библиотеку, которая прослушивает события DOM.

Мне нужно соединить эти два! Я думал сделать что-то вроде этого:

$(el).on('change', function (e) {
    if (e.originalEvent) return; // already a DOM event
    el.dispatchEvent(e.makeDOMEvent());
});

Очевидно, что jQuery не имеет функции makeDOMEvent() ... но есть ли что-то эквивалентное?

1 Ответ

0 голосов
/ 09 мая 2018

Я отвечаю на свой вопрос здесь, потому что я не видел никакого официального способа сделать это.

По сути, я просто использую старый добрый Javascript для создания нового события:

$(el).on('change', function (e) {
    if (e.originalEvent) return; // already a DOM event
    el.dispatchEvent(new Event('change', {
        bubbles: true,
        cancelable: true,
    }));
});

При этом теряются все данные из события jQuery.

...