2015-02-09 5 views
0

Как отключить ввод нажмите кнопку?Отключить ввод нажатием кнопки типа

Я делаю игру, в которой вы нажимаете кнопку, а затем счетчик подсчитывает, что вы нажимаете и отображает текст, проблема заключается в том, когда вы удерживаете клавишу ввода, счетчик быстро растет ... Вот игра: http://gorillapps.net/games/Button-Clicker.html ".

Итак, как вы отключите нажатие клавиши, которая по умолчанию включена в Javascript?

+0

Просьба указать код. – Henrik

ответ

0

Вы можете попробовать этот код:

$('#yourButtonId').keypress(function(event) { 
    if (event.which == 13) { 
     event.preventDefault(); 
    } 
}); 

Надеется, что это поможет.

+0

Keypress не регистрирует ввод. Используйте keydown. – Mouser

+0

OP, похоже, не использует jQuery, используйте vanilla JS. – Teemu

2
document.getElementById("countButton").onkeydown = function(e){ 
if (e.which == 13) //13 is the keycode referring to enter. 
    { 
     e.preventDefault(); //this will prevent the intended purpose of the event. 
     return false; //return false on the event. 
    } 
} 

Это предотвращает запуск кнопки путем ввода.

Расширенное решение. Ввод допускается только один раз. Пользователь должен отпустить кнопку ввода для сброса.

var enterPressed = 0; 
document.getElementById("countButton").onkeydown = function(e){ 
    if (e.which == 13) 
     { 
     if (!enterPressed) 
     { 
      enterPressed = 1; 
      return true; 
     } 
     else 
     { 
      e.preventDefault(); 
      return false; 
     } 


    } 
} 

document.getElementById("countButton").onkeyup = function(e){ 
    if (e.keyCode == 13) 
    { 
     enterPressed = 0; 

    } 
} 

Обычно я бы пропагандировать использование addEventListener, однако это такой простой веб-сайт, с одной лишь целью, что встроенные события не являются проблемой здесь.

Смежные вопросы