2

次のように、選択した要素にキーストロークを送信したい:

$(":input").click(function(){
    $(this).trigger("keydown", [{
        preventDefault:function(){},
        keyCode:9,
        shiftKey: true
    }]);
});

//wants to send Shift+Tab keystroke on input click

デモ: http://jsfiddle.net/NYwCT/ .

4

2 に答える 2

5

キーストロークを送信することはできません。現在、バインドされているすべての関数をトリガーしますが、ブラウザー レベルで関連することを実行しません (ALT + F4 を送信するスクリプトはどうですか?)。

クリックされたものより前の入力にフォーカスしたい場合は、.prev()(前の兄弟): http://jsfiddle.net/NYwCT/1/を使用できます。

$(":input").click(function(){
    $(this).prev().focus();
});
于 2011-10-12T20:35:54.307 に答える
1

これは実際のイベントを発生させません

var press = jQuery.Event("keypress");
press.shiftKey = true;
press.keyCode = 9;
$(this).trigger(press);

このプラグインを試すこともできます: fn.sendkeysまたはjwerty

于 2011-10-12T20:59:07.380 に答える