2015-05-21 2 views
-1

Im пытается связать ключи с калькулятором jQuery - и пытается создать оператор if. Пробовал несколько способов без везения, каков правильный способ сделать это?Как написать инструкцию if на скрипте jquery?

Работа скрипта для одного ключа:

$(document).keypress(function(e) { 
    if (e.which == 49) { 
     $(".key.action").click(); 
    } 
}); 

Я хочу что-то вроде этого, чтобы связать несколько ключей:

$(document).keypress(function(e) { 
    if (e.which == 49) { 
     $(".key.1").click(); 
     return; 
    } else if e.which == 50) { 
     $(".key.2").click(); 
     return;  
    } 
}); 
+3

То, что вы должны работать (при условии, недостающий кронштейн во втором 'if' опечатка) - хотя' return' заявления излишни, учитывая ваш логический поток. Есть ли у вас конкретная проблема? –

+0

вы пропустили «открытую скобку» на этой строке после if ... else, если e.which == 50) { –

+0

Не уверен, что мне нужны операторы return - я в основном попытался скопировать другой скрипт, использующий с операторами if. Я получил это от комментариев здесь, но теперь keypress возвращает два числа вместо одного. – Xeptor

ответ

2

Вы пропустили открывающую скобку на втором if заявление:

$(document).keypress(function(e){ 
    if (e.which == 49){ 
     $(".key.1").click(); 
     return; 
    } else if(e.which == 50){ 
     $(".key.2").click(); 
     return;  
    } 
}); 

EDIT

Включая $.stop функции, чтобы избежать несколько регистров keypress:

$(document).keypress(function(e){ 
    if (e.which == 49){ 
     $(".key.1").click(); 
     $(e).stop(); 
     return; 
    } else if(e.which == 50){ 
     $(".key.2").click(); 
     $(e).stop(); 
     return;  
    } 
}); 

... хотя, тестирование в обоих направлениях, я вижу только keypress огня сразу.

See Fiddle (нажать «1» включает в себя $.stop(), нажав кнопку «2» не)

+1

Хорошее место. Однако это может быть опечаткой в ​​вопросе. –

+0

Mate you're * везде *! Я подумал об этом, но я не вижу другой причины, по которой код не будет работать ... – Ben

+2

https://xkcd.com/303/;) –

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