Jquery: один вызов вызван несколькими событиями - PullRequest
2 голосов
/ 31 июля 2009

У меня есть простая страница поиска с одним полем ввода.

Я хочу, чтобы можно было инициировать действие поиска, нажав «Перейти» или нажав клавишу «Ввод» в поле ввода. Я сделал это так:

$("input[name='entry']").keyup(function(event) {
                                 if (event.keyCode == 13) {
                                     search_phone();
                                 }
                             });

 $('a#go').click(function() {
              search_phone();
 });

Есть ли более элегантный способ сделать это? Как с привязкой и триггером или броском. Если да, то как?

Ответы [ 2 ]

6 голосов
/ 31 июля 2009

Не много вы можете улучшить здесь. Ваш код довольно хорош.

Вы можете пропустить анонимную функцию для события click.

$('a#go').click(search_phone);
0 голосов
/ 31 июля 2009

Я бы просто сделал вашу ссылку "перейти" кнопкой отправки

<input type="submit" name="submit" value="go"/>

А затем просто привяжите свою функцию к отправке (что может произойти либо при нажатии клавиши ввода в текстовом поле, либо при нажатии кнопки «Перейти».

$('#my_form').submit(search_phone);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...