Мне было интересно, как можно сделать .keyup() и .click() для одного и того же #id?
.keyup()
.click()
#id
т.е. я хочу проверить #id, когда пользователь пытается нажать , ввести или нажать кнопку #search
#search
Большое спасибо
$('#foo').bind('click keyup', function(event) { ...
При изменении типа события вам нужно будет добавить логику, но она должна работать с достаточным количеством if блоков.
if
Ну, вы можете сделать:
$(document).keydown(function(objEvent) { if (objEvent.keyCode == 13) { //clicked enter $('#search').click(); //do click } }) $("#search").click(function(e){/*click fn*/})
Запустит клик по вводу нажмите
Я бы пошел на что-то вроде этого:
function validate(element) { // your validation stuff goes here } $('#id').keyup(function(event) { if (event.keyCode == 13) { validate(this); } }).click(function() { validate(this); });
$("#id").click(validate).keyup(function(event) { if (event.keyCode == '13') validate(); }); function validate() { ... validate $(this).val(); ... }
Новый jQuery предлагает свойство what для события, чтобы проверить, какая клавиша была нажата, чтобы вы могли сделать что-то вроде этого:
$(#id").on('keyup',function(e){ if (e.which==13 || e.which==9) doSomething(this); //Enter or Tab key });