Определить, когда ссылка активирована - либо щелкнув, либо нажав вкладку, и введите - PullRequest
6 голосов
/ 23 апреля 2009

Просто интересно, знает ли кто-нибудь, как подключить jquery для запуска функции, когда пользователь нажимает на ссылку или вкладку к ссылке и нажимает enter.

Я хочу перехватить эту активацию ссылки и выполнить действие до изменения страницы, но я хочу сделать это в любом случае.

Ответы [ 4 ]

9 голосов
/ 23 апреля 2009

Событие 'click' будет запущено в обоих случаях, это даст вам то, что вы хотите:

$('a').click(function(){
    alert('perform action here');
});
3 голосов
/ 23 апреля 2009

Это довольно просто на самом деле ... При нажатии Enter на элемент, он действует как щелчок в браузерах. Не нужно делать ничего особенного.

$('a.links_to_bind').bind('click', function() { 
    /* do your stuff... */
    return false;
});

Edit: Если вы хотите, чтобы страница изменилась после завершения ваших действий, вы можете добавить условный набор состояний к этому return false. Что-то вроде:

if(everythings_good) {
    return true;
} else {
    return false;
}
1 голос
/ 23 апреля 2009

Следующие две ссылки предоставляют информацию о событиях в jQuery, которые вы хотите обработать.

jQuery Events / keypress: http://docs.jquery.com/Events/keypress
События jQuery / клик: http://docs.jquery.com/Events/click

0 голосов
/ 28 июля 2012
$('a').keydown(function() {

return false;  // Prevent default action

}); 

$('a').keyup(function(event){

     if(event.keyCode == '13'){

             $(this).find('button.mychoice').click();

     }

}); 


// This does the trick for both IE and FF.
...