0

フォーカス時にデフォルトの入力値をクリアし、ブラー時に値が空の場合は値を戻すために必要です。これが私の現在のコードです:

$(document).ready(function() {
    function toggleText(selector, value) {
        $(selector).focus(function() {
            if ($(this).val == value) {
                $(this).val('');
            }
        });
        $(selector).blur(function() {
            if ($(this).val == '') {
                $(this).val(value);
            }
        });
    }
    toggleText('input[name="first-name"]', 'First name...');
});
4

1 に答える 1

2

それ$(this).val()は、ではありません$(this).val

$(document).ready(function() {
    function toggleText(selector, value) {
        $(selector).focus(function() {
            if ($(this).val() == value) {
                $(this).val('');
            }
        });
        $(selector).blur(function() {
            if ($(this).val() == '') {
                $(this).val(value);
            }
        });
    }
    toggleText('input[name="first-name"]', 'First name...');
});

編集:

しかし、私はそれがこの方法でより良いと思います:

$(document).ready(function() {
    function toggleText(selector) {
        $(selector).focus(function() {
            if ($(this).val() == $(this)[0].defaultValue) {
                $(this).val('');
            }
        });
        $(selector).blur(function() {
            if ($(this).val() == '') {
                $(this).val($(this)[0].defaultValue);
            }
        });
    }
    toggleText('input[name="first-name"]');
});

このプラグイン$(this).defaultValue()を使用する場合に使用できます。

于 2012-08-12T22:22:14.307 に答える