ボタンとして機能するdivがあります。ボタンがクリックされたら、キーを押すことをシミュレートしたいと思います。Stackoverflowの他の場所では、人々は使用を提案していますjQuery.Event("keydown");
が、提案はすべて、ではなく.trigger()
ボタンへのバインドを使用しています.click
。したがって、私のサンプルコードは次のようになります。
var press = jQuery.Event("keydown");
press.which = 69; // # The 'e' key code value
press.keyCode = 69;
$('#btn').click( function() {
$('#testInput').focus();
$(this).trigger(press);
console.info(press);
});
JSFiddleでダミーの例を設定しました:http: //jsfiddle.net/ruzel/WsAbS/
最終的には、フォーム要素にキープレスを入力するのではなく、イベントをドキュメントのキープレスとして登録して、MelonJSゲームでイベントを取得できるようにします。
更新:キーボード以外でキーを押すと、セキュリティ上の理由からブラウザで無視される可能性が高いようです。テキスト入力を更新するために、この非常に優れたJqueryプラグインがトリックを実行します:http://bililite.com/blog/2011/01/23/improved-sendkeys/
MelonJSの場合の解決策を探してここに来る人は、次のようにMelonJSのme.inputオブジェクトを使用するのが最善です。
$('#btn').mousedown(function() {
me.input.triggerKeyEvent(me.input.KEY.E, true);
});
$('#btn').mouseup(function() {
me.input.triggerKeyEvent(me.input.KEY.E, false);
});