2012-01-05 26 views
4

ボタンをクリックしたときに、keyCode 37で人工的なキーダウンイベントを発生させるスクリプトを書いています。Firefoxで「jQuery.Event」を使用するにはどうすればよいですか?

次のスクリプトは、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で動作させる方法を知っていますか?

答えて

3

は、ブラウザがwhichをサポートしていない場合、それはkeyCode

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

ありがとうございます。私は上記のスクリプトを試しましたが、それはIE上でうまく動作しますが、FirefoxとOperaではまだ動作しません。私は理由を知らない... –

+0

上記のスクリプトでEvent( "keydown")をEvent( "keypress")に変更しました。 FireFoxとOperaで動作します!ご助力ありがとうございます!!! –

+0

thats great ..私はあまりにもこれを理解しようとしていた..あなたは大歓迎です.. –

1

このようにそれを試してみてください。

 

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

をサポートする、これを試しては、ご回答いただきありがとうございます。私は上記のスクリプトを試しましたが、FirefoxとOperaではまだ動作しません。 –

関連する問題