jQuery имеет такие функции, как .on () и .trigger () , которые позволяют вам присоединять события к объектам DOM и затем вручную запускать эти события. Документация для этих функций специально относится к событиям в «элементах», которые я понимаю как элементы HTML / DOM.
Могу ли я также использовать эти функции для добавления функциональности события к простым старым объектам JavaScript?
var x = {};
$(x).on('bonk', function() { alert('Oif!'); });
$(x).trigger('bonk'); // shows the alert
Это работает во всех браузерах, в которых я его тестировал (Chrome 15, FireFox 7, IE 9 и Opera 11.52, все в Windows), что выглядит многообещающе. Но из документации не ясно, означает ли это , что означает , чтобы быть поддерживаемым сценарием во всех браузерах, на всех платформах. Выбор терминологии («элементов») документа вызывает много сомнений.
Документы do заявляют, что я могу создать собственные имена событий (например, на странице документа для .on () есть пример "Присоединить и вызвать пользовательский ( не браузерные) события "). Но тем не менее, это всегда прикрепление события к элементу DOM, а не к простому старому объекту.
Есть что-нибудь, что однозначно указывает, поддерживает ли jQuery .on()
и .trigger()
с простыми старыми объектами JavaScript?