0

ユーザーが
2 つの入力ボックスのいずれかをクリックすると、デフォルト値が削除されます。ユーザーが Web ページの他の場所をクリックし、1 つのテキスト フィールドが空の場合data-default、特定の要素の属性からのデフォルト値が入力されます。

これは
、誰かがページのどこかをクリックしてフィールドが空の場合に発生し、フィールドには正しい値が入力されますが、誰かがフィールドを再度クリックしてもテキストは削除されません。クリックイベントなしで動作しているため、クリック$(document)イベントがクリックイベントをブロックしているようです。$(".login-input")$(".login-input")$(document)

JSFiddle
私の問題のサンプルはここに提供されています: JSFiddle

助けてくれてありがとう!

4

4 に答える 4

0

以下のコードを試してください

$(document).ready(function () {
    $(".login-input").click(function () {
        $(this).val("");

    });
});
$(document).ready(function () {

    $(".login-input").each(function () {
        if ($(this).val() === "") {
            $(this).val($(this).attr("data-default"));
        }
    });
    $(".login-input").blur(function () {
        if ($(this).val() === "") {
            $(this).val($(this).attr("data-default"));
        }
    });

});

フィドルをチェック

于 2013-07-08T18:09:22.453 に答える
0

focus イベントと blur イベントを使用しないのはなぜですか?

$(document).ready(function () {
    $(".login-input").focus(function () {
        $(this).val("");
    });
});
$(document).ready(function () {    
    $(".login-input").blur(function () {
        if ($(this).val() === "") {
            $(this).val($(this).attr("data-default"));
        }
    });    
});

http://jsfiddle.net/kLQW9/5/

PSあなたとこのコードでは、フォーカス時に入力からのすべてのデータがクリアされます。デフォルトのテキストのみをクリアする必要がある場合は、そのための適切な条件を追加します。

于 2013-07-08T18:09:40.057 に答える