Связывание нескольких событий в jQuery
У меня есть настраиваемый плагин jQuery, который связывает событие change
с элементом формы, в данном случае с некоторыми элементами input
. Событие change
используется для обозначения некоторых других компонентов, которые произошли в результате изменения.
Это работает так, как должно.
Однако я столкнулся с необходимостью привязывать дополнительное событие change
к тем же элементам input
, чтобы дополнительные компоненты могли действовать на событие. Я не хочу заменять плагин change
, после этого просто запускайте дополнительную функцию.
Есть ли способ связать несколько событий в jQuery или лучший способ для этого?
Ответы
Ответ 1
Вы можете связать несколько обработчиков для одного и того же события. Привяжите второе изменение, как обычно:
<input type="text" id="a" />
$("#a").change(function() { alert("1"); });
$("#a").change(function() { alert("2"); });
$("#a").change(); // alerts 1, then 2
Ответ 2
Стек событий в jQuery. Если вы выполните:
<input type="button" value="Press me">
и
$(":button").click(function() {
alert("click");
}).click(function() {
alert("click 2");
});
оба будут стрелять. Поэтому просто привяжите другое событие к соответствующим элементам. Он не будет перезаписывать первый.