2013-06-30 3 views
1

Le code suivant fonctionne. Il vous permet d'appuyer sur les boutons d'entrée et d'échappement. Voici un jsFiddlejQuery Empilage et désempilage des triggers

$(document).on('keydown', function(e){ 
    if (e.which == 13){ 
     // Enter Key pressed 
    } 
}); 
$(document).on('keydown', function(e){ 
    if (e.which == 27){ 
     // Esc Key pressed 
    } 
}); 

Ma question est comment pourrais-je supprimer la liaison pour seulement la touche entrée?

Répondre

2

e.preventDefault(), et renvoie false; dans la fonction

$(document).on('keydown', function(e){ 
    if (e.which == 13){ 
     e.preventDefault(); 
     return false; 
    } 
}); 

ou si vous voulez dire que l'événement de liaison

$(document).off('keydown'); 

si vous voulez dire que pour ce particulier, vous contraignant pouvez définir un espace de noms

$(document).on('keydown.mykeydown'... 
$(document).off('keydown.mykeydown'); 
+0

Le premier semble bien, peu long. Je peux regarder dans le dernier, je n'ai jamais déclaré un espace de noms, mais il me semble que ce que je veux le plus. Est-ce '.on ('keydown.mykeydown') ...' la déclaration? ou seulement la liaison? –

+0

bien le premier est juste que vous voulez que l'entrée soit ignorée, ce que je pensais au début, mais ensuite vu que vous avez mentionné lier –

+1

Et comme preventDefault et retourner false faire la même chose dans ce cas, vous avez seulement besoin d'un eux, de préférence le premier. – adeneo