如何拥有“jQuery.Event”在 Firefox 上工作吗?

发布于 2024-12-24 19:50:44 字数 356 浏览 7 评论 0原文

我正在编写一个脚本,当 单击按钮。

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

I'm writing a script which triggers an artificial keydown event with keyCode 37 when
button is clicked.

The following script works fine on IE, Safari, and Chrome, but it doesn't work on Firefox and Opera. Even if I change {keyCode: 37} to {which: 37}, it still doesn't work.

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

Does anyone know how to make it work on Firefox and Opera?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心欲静而疯不止 2024-12-31 19:50:44

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

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

try this, if a browser doesn't support which , it will support keyCode

$('button').click(function(){
   var keyDownEvent = jQuery.Event("keydown");
   if(keyDownEvent.which){
           keyDownEvent.which = 37;
   }else{
           keyDownEvent.keyCode = 37;
        } 
  $("body").trigger(keyDownEvent);   
}
彼岸花似海 2024-12-31 19:50:44

尝试这样:


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

Try it this way :


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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文