#javascript #jquery #ajax #click
#javascript #jquery #ajax #нажмите
Вопрос:
$("#loggedinNav").click(function (e) {
// do something
});
это мое, и я хочу использовать ту же функциональность нажатия для других кнопок, так могу ли я добиться такого поведения следующим образом:
$("#loggedinNav" || "#mainlogo").click(function (e) {
// do something
});
где ||
= or
Ответ №1:
$("#loggedinNav, #mainlogo").click(function (e) { // do something });
Комментарии:
1. Я бы сделал это, но если вы выходите за рамки двух или трех кнопок, возможно, вам захочется рассмотреть возможность создания класса, который присваивается кнопкам, а затем использовать имя класса вместо идентификаторов.
Ответ №2:
Альтернатива ответу metaforce.
Вы могли бы сделать это:
var clickHandler = function(e) {
//Do stuff
};
$("#loggedinNav").click(clickHandler);
$("#mainlogo").click(clickHandler);
Это было бы лучше, если у вас много кнопок, которым нужен обработчик, или вы хотите сделать это в нескольких функциях.
Комментарии:
1. да, это то же самое решение, но если ваш обработчик нажатия выполняет те же действия, то лучше поступить так же, как предлагалось ранее … это сэкономит время, когда вы захотите изменить свое действие в будущем…
Ответ №3:
вы можете сделать $("#loggedinNav,#mainlogo").click(...)
согласно документам jQuery
Комментарии:
1. не работает, вы должны поместить все с одинаковыми двойными ссылками… как указано metaforce (см. Решение выше)