1

キーダウンイベントを入力ボックスにトリガーするために、jQueryで次のことを試しました。

http://jsfiddle.net/W5fNh/8/

なぜ と のイベントkeydownがトリガーされなかったのだろうか。自分で入力して Enter キーを押すと、フォームが送信されます。AEnter

コード:

$(function () {

    $("#the-input").trigger("focus");

    $("#the-input").trigger(
        jQuery.Event('keydown', {
            keyCode: 65
    }));

    $("#the-input").trigger(
        jQuery.Event('keydown', {
            keyCode: 13
    }));

    $("#the-input").trigger(
        jQuery.Event('keydown', {
            which: 65
    }));

    $("#the-input").trigger(
        jQuery.Event('keydown', {
            which: 13
    }));

});

htmlで:

<form id="the-form" action="some.php" method="get">
    <input id="the-input" type="text" name="var">
</form>
4

1 に答える 1

0

わかりました、答えは次のようです: jQuerytriggerはイベント ハンドラーを呼び出すことができますが、実際にユーザーが何かを入力してブラウザーに表示することをエミュレートすることはできません。

つまり、実際にブラウザに表示されるfocusまたはを除きます。blurでは、何が表示され、何が表示されないのか、イベントごとにどうなのか気になります。

PS たとえば、ラジオ ボタンの場合、実際には「クリック」されます: jsfiddle の例: http://jsfiddle.net/awbus/2/

于 2013-03-30T02:15:36.647 に答える