JQuery привязка клавиш со стрелками (класс веб-браузера IE) - PullRequest
0 голосов
/ 10 марта 2011

У меня есть приложение, которое использует класс веб-браузера Microsoft (IE activex). Я пытаюсь связать событие keydown и добавить пользовательский элемент управления для клавиш со стрелками, но событие keydown не запускается при использовании клавиш со стрелками.

Я попробовал следующий код для захвата события keydown:

$(document).keydown(function(e){   
alert("keydown");  });

$("#element").keydown(function(e){   
alert("keydown");  });

document.onkeydown = function(evt) {
  evt = evt || window.event;
  var keyCode = evt.keyCodeq
  if (keyCode >= 37 && keyCode <= 40) {
      alert("ok");
      return false;
  }
};

Событие keydown работает, удаляйте ключ на примере, но не при использовании клавиш со стрелками. Когда в браузере activex используются клавиши со стрелками, документ прокручивается, но добавить пользовательский элемент управления невозможно.

В обычном IE (не activex) все работает нормально.

Есть предложения?

1 Ответ

1 голос
/ 10 марта 2011

На самом деле особо нечего делать.

1.

<input type="text" id="test_element">

2.

<script type="text/javascript">
$(function(){
 $("#test_element").keydown(function(e){
  switch(e.which){
   case 37: movement = 'left'; break;
   case 38: movement = 'up'; break;
   case 39: movement = 'down'; break;
   case 40: movement = 'right'; break;
   default: movement = false; break;
  }
  if(movement){
    alert("You just clicked "+movement+" arrow key");
  }
 });
});
</script>
...