JQueryを使用して、リンクがクリックされたときにKeyPressをシミュレート(トリガー)するにはどうすればよいですか?たとえば、ユーザーが次のリンクをクリックした場合:
<a id="clickforspace" href="#">Click Here</a>
次に、リンクをクリックすると、キーボードの「スペースバー」を押したかのようになります。
このようなもの、私は仮定しています:
$("#clickforspace").click(function(e) {
e.preventDefault();
//... Some type of code here to initiate "spacebar" //
});
これを達成する方法についてのアイデアはありますか?
JQueryのkeypressイベントは、この種の作業を行うためのものです。文字列「keypress」を.trigger()に渡すことにより、イベントをトリガーできます。ただし、より具体的には、jQuery.Eventオブジェクトを実際に渡して(タイプを「keypress」として指定)、スペースバーであるキーコードなどの必要なプロパティを提供できます。
http://docs.jquery.com/Events/trigger#eventdata
詳細については、上記のドキュメントを参照してください。
私はこれがあなたが探しているものだと信じています:
var press = jQuery.Event("keypress");
press.ctrlKey = false;
press.which = 40;
$("whatever").trigger(press);
here から。
このSendKeys jQueryプラグインを試すことができます。
http://bililite.com/blog/2011/01/23/improved-sendkeys/
$(element).sendkeys(string)
は、inputedit、textarea、またはcontenteditable = trueの他の要素の挿入ポイントに文字列を挿入します。挿入ポイントが現在要素内にない場合は、sendkeysが最後に呼び出されたときの挿入ポイントの場所を記憶します(挿入ポイントが要素内になかった場合、末尾に追加します)。
これは動作します:
var event = jQuery.Event('keypress');
event.which = 13;
event.keyCode = 13; //keycode to trigger this for simulating enter
jQuery(this).trigger(event);