У меня есть несколько компонентов DOM, с которыми я связываю такие события, как click
, hover
и т. Д.
Поскольку я использую JSF
с AJAX
, иногда эти компоненты перерисовываются, и мне приходится заново привязывать к ним события DOM.
Чтобы выполнить автоматическое повторное связывание вновь отображаемых компонентов, я регистрируюсь с событием JSF
, чтобы выполнить повторное связывание следующим образом:
jsf.ajax.addOnEvent(function (data) {
if (data.status === "success") {
$("#someid").click(function() {...});
}
});
Проблема с этим решением состоит в том, что когда компоненты не перерисовываются, а происходит событие AJAX
, привязка удваивается и утраивается и т. Д.
Решение, которое всплывает у меня в голове, состоит в том, чтобы иметь флаг для каждого компонента DOM, который установлен в true, когда компонент был связан с событием.
Это будет работать, но немного громоздко.
Мне интересно есть ли лучшее решение, о котором я не знаю (или не могу придумать), например какая-то функция jQuery
, которая позволяет программисту избегать большего чем одна привязка на событие для каждого компонента DOM.
Спасибо!