如何让“jQuery.Event”在Firefox上运行?

时间:2012-01-05 04:10:37

标签: jquery firefox keydown keycode

我正在编写一个脚本,当使用keyCode 37触发人工keydown事件时 单击按钮。

以下脚本适用于IE,Safari和Chrome,但它不适用于Firefox和Opera。即使我将 {keyCode:37} 更改为 {which:37} ,它仍然无效。

$('button').click(function(e){
   jQuery("body").trigger(jQuery.Event("keydown", {keyCode: 37}));
   e.preventDefault();
}  

有谁知道如何让它在Firefox和Opera上运行?

2 个答案:

答案 0 :(得分:3)

尝试此操作,如果浏览器不支持which,则会支持keyCode

$('button').click(function(){
   var keyDownEvent = jQuery.Event("keydown");
   if(keyDownEvent.which){
           keyDownEvent.which = 37;
   }else{
           keyDownEvent.keyCode = 37;
        } 
  $("body").trigger(keyDownEvent);   
}

答案 1 :(得分:1)

以这种方式尝试:


$('button').click(function(){
   var e = jQuery.Event("keydown");
   e.which = 50;
  $("body").trigger(e);   
}