0

Javascript:

        var header = $("#inputHeader").val();

    function coolInput() {
        if (header === "") {
            $("#displayHeader").text("Type Something!");
        }
        else if(header !== "") {
            $("#inputHeader").keyup(function () {
                var value = $(this).val();
                $("#displayHeader").text(value);
            }).keyup();
        }
    }

    setInterval(coolInput, 1);

HTML:

        <blockquote>
            <p id="displayHeader">jQuery no worky.</p>
            <small><?php echo $_SESSION['user']; ?></small>
        </blockquote>

段落が「Type Something!」に変更されるため、私の jQuery は機能しますが、テキスト ボックスに何かを入力しても値は変更されません。

4

3 に答える 3

1

1 ミリ秒ごとに keyup イベント ハンドラーを適用する理由。keyup イベントを 1 回定義するだけです。

Sample

$('#foo').on('keyup',function() {
    $bar.text($foo.val());
});

keyup ハンドラー関数内で、値を簡単にテストできます。
これが役に立たない場合は、私に知らせてください。あなたのスレッドから投稿を削除します。

編集:.keyup()ハンドラー関数を使用したもののすぐ後ろにある2番目に気付きました。なぜそこに置いたのですか?

于 2013-05-29T08:21:06.577 に答える
0

keyup1 ミリ秒ごとにイベントを指定する必要はありません。それがあなたのスクリプトが行うことです。

これは次のように変更できます:

var header = $("#inputHeader");

function coolInput() {
    if (header.val() === "") {
        $("#displayHeader").text("Type Something!");
    }
    else if(header.val() !== "") {
        $("#displayHeader").text(header.val());
    }
}

setInterval(coolInput, 1);
于 2013-05-29T08:13:46.040 に答える