ユーザーがリンクまたはリンクへのタブをクリックしてEnterキーを押したときに関数を実行するようにjqueryを接続する方法を誰かが知っているかどうか疑問に思っています。
リンクのアクティベーションをインターセプトして、ページが変更される前にアクションを実行したいのですが、どちらの場合も実行したいです。
どちらの場合も「クリック」イベントが発生します。これにより、必要なものが得られます。
$('a').click(function(){
alert('perform action here');
});
実際には非常に単純です...要素でEnterキーを押すと、ブラウザでクリックとして機能します。特別なことをする必要はありません。
$('a.links_to_bind').bind('click', function() {
/* do your stuff... */
return false;
});
編集:
アクションが完了した後にページを変更する場合は、それに条件文を追加することをお勧めしますreturn false
。何かのようなもの:
if(everythings_good) {
return true;
} else {
return false;
}
次の 2 つのリンクは、処理する jQuery のイベントに関する情報を提供します。
jQuery イベント/キープレス: http://docs.jquery.com/Events/keypress
jQuery イベント/クリック: http://docs.jquery.com/Events/click
$('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.