私は人気のあるブラウザゲームAgar.ioのコントロールを変更するクロム拡張を作成しようとしています。クイックサマリー、ゲームでは、分割アクションを実行します。私は同じアクションを実行したいが、スペースの代わりにDを押す。拡張機能は正常に動作します。 Dが押され、私のsplit()関数が呼び出されたことを検出します。アラートがポップアップするが、実際のゲームアクションは実行されないので、私はこれを知っている。私は周りを見て、さまざまな方法を試したが、何も動作していない。以下は私のJSファイルです。JSのキー押しをシミュレートする方法は?
window.addEventListener('keydown', keydown);
function keydown(event) {
if (event.keyCode == 68) { //key D
split();
}
}
function split() {
$("body").trigger($.Event("keydown", { keyCode: 32}));
$("body").trigger($.Event("keyup", { keyCode: 32}));
alert("Did it work?");
}
も成功しません。この方法を試してみました:この質問に示すように
var space = jQuery.Event("keydown");
space.which = 32;
$("body").trigger(space);
[jQueryを使ってキープレスイベントをトリガするために決定的な方法
]私がすることができた1
@Dekelあなたが参照した質問に示された方法を試しました。それは私が新しい質問を投稿した理由ではありませんでした。 – Vindictive
あなたの 'split();'の後に 'event.stopPropagation();'を追加してみてください。 –
stopPropagation();動作しませんでしたが、ありがとう。 – Vindictive