2013-04-20 2 views
3

Я хочу имитировать нажатие клавиши ESC (ASCII: 27), когда я нажимаю на DIV. Я не хочу использовать какой-либо плагин jQuery.Имитация нажатия клавиш с событием onClick

<script type="text/javascript"> 
     $('body').keydown(function(e) { 
      if (e.keyCode == 27) { 
       alert('yay 4 escape keys') 
      } 
      console.log(e); 
     }); 

     var e = $.Event("keydown", { 
      keyCode: 27 
     }); 

     $('#escape').click(function() { 
      $("body").trigger(e); 
     }); 
    </script> 

Я использовал этот обработчик событий, но, похоже, он не работает должным образом.

+0

На какой браузер вы тестирования? Некоторые браузеры для обеспечения безопасности не позволяют вам запускать keydown-events –

+1

Работает на этой скрипке http://jsfiddle.net/IrvinDominin/GvVDk/ в Chrome и Safari для mac –

+0

Я попробовал это как для Chrome, так и для Firefox в win, а также для Linux, но событие не запускается. Не удалось выяснить, почему? Даже попробовал это '$ ('# escape'). Click (function() {jQuery.event.trigger ({type: 'keypress', который: '27'});});' –

ответ

0
$(function(){ 
var e = jQuery.Event("keydown"); 
    e.which = 27; 

    $('#escape').click(function() { 
       $("body").trigger(e); 
      }); 

}); 
Смежные вопросы