2014-11-11 3 views
0

У меня проблемы с моим ключом. Когда страница находится на div «screenA», пользователь имеет два варианта: нажмите пробел или клавишу «i». Клавиша «i» показывает предупреждение, а пробел показывает div screenTimer. Когда пользователь находится на div screenTimer, она должна иметь возможность нажимать клавишу со стрелкой вправо, чтобы вызвать startTesting(), а также журнал консоли.keydown не стрельба по div

Клавиша i и пробел работают, но стрелка вправо (39) ничего не делает и не отображает журнал консоли.

$(document).keydown(function(e) 
      { 
       if (boolKeyDepressed) 
        return; 
       else 
        boolKeyDepressed = true; 

     var e = e || window.event; 
       var ltr = e.keyCode ? e.keyCode : e.charCode; 
       var trans = ""; 


       if (ltr == 13) 
       { 
        event.preventDefault(); 
       } 

       switch(ltr) 
       { 

        case 73: // "i" key 

         if (!$('screenA').is(':visible')) { 
         alert("i key"); 
         } 
         break; 
        case 32: // space bar 

         if (!$('screenA').is(':visible')) { 

         showDiv('screenTimer'); 
         hideDiv("screenA"); 

         } 

         break; 

        case 39: // right arrow key 

         if (!$('screenTimer').is(':visible')) { 
        console.log("timer"); 
         startTesting(); 
        } 

         break; 


       } 


     }); 

ответ

0

U должны использовать не KeyDown нажатия клавиши, попробуйте код с нажатием клавиши

+0

она по-прежнему не работает = \ только первые два случая работы, бар ключ я и пространство. как только я доберусь до screenTimer, клавиша со стрелкой вправо не срабатывает – user3325170

+0

где функция startTesting(), у вас есть это правильно –

+0

Также попробуйте e.which вместо e.keycode, e.which работает на всех браузерах –

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