2013-06-30 3 views
1

Работает следующий код. Он позволяет вам нажимать кнопки ввода и выхода. Вот jsFiddlejQuery триггеры стекирования и бездействия

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

Мой вопрос, как бы я удалить привязку для только клавишу ввода?

ответ

2

e.preventDefault() и возвращает false; в функции

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

или если вы имеете в виду только событие связывания

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

, если вы имеете в виду только для этого конкретного связывания вы можете установить пространство имен

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

Первый, кажется, хорошо, немного длинный. Я могу заглянуть в последнюю, я никогда не объявлял пространство имен, но мне кажется, что я больше всего люблю то, что хочу. Это '.on ('keydown.mykeydown') ...' декларация? или только привязка? –

+0

ну, первый из них только что вы хотите, чтобы вход был проигнорирован, и это то, о чем я думал сначала, но потом увидел, что вы упомянули bind –

+1

И так как preventDefault и return false делают то же самое в этом случае, вам нужно только один из их, предпочтительно первый. – adeneo