【问题标题】:How to have "jQuery.Event" work on Firefox?如何让“jQuery.Event”在 Firefox 上工作?
【发布时间】:2012-01-05 04:10:36
【问题描述】:

我正在编写一个脚本,在 按钮被点击。

以下脚本在 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 上运行?

【问题讨论】:

    标签: jquery firefox keydown keycode


    【解决方案1】:

    试试这个,如果浏览器不支持which,它将支持keyCode

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

    【讨论】:

    • 感谢您的回复。我尝试了上面的脚本,但它仍然无法在 Firefox 和 Opera 上运行,尽管它在 IE 上运行良好。我不知道为什么...
    • 我在上面的脚本中将 Event("keydown") 更改为 Event("keypress")。然后它可以在 FireFox 和 Opera 上运行!!非常感谢您的帮助!!!
    【解决方案2】:

    试试这个方法:

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

    【讨论】:

    • 感谢您的回复。我尝试了上面的脚本,但它仍然无法在 Firefox 和 Opera 上运行...
    猜你喜欢
    • 2010-10-13
    • 2014-10-30
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 2012-04-12
    • 2015-03-05
    • 1970-01-01
    相关资源
    最近更新 更多