0

入力フィールドに影を作成するために使用されるこの JavaScript があります。

<!-- input field shadow  -->
    var placeholder = "#{GlassfishController.date}"
    $("input").on({
        focus: function() {
            if (this.value == placeholder) {
                $(this).val("").removeClass("shadow");
            }
        },
        blur: function() {
            if (this.value == "") {
                $(this).val(placeholder).addClass("shadow");
            }
        }
    }).trigger("blur");       

これで、スクリプトは時刻形式を表示します。しかし、マウスでフィールドをクリックすると、テキストが消えます。キーを入力したときにのみスクリプトが消えるように変更したいと思います。どうすればこれを行うことができますか?

幸運をお祈りしています

4

1 に答える 1

1

使用keypressイベント:

var placeholder = "#{GlassfishController.date}"
$("input").on({
    keypress: function() {
        if (this.value == placeholder) {
            $(this).val("").removeClass("shadow");
        }
    },
    blur: function() {
        if (this.value == "") {
            $(this).val(placeholder).addClass("shadow");
        }
    }
}).trigger("blur");

デモ: http://jsfiddle.net/2qY52/

于 2012-05-12T12:53:08.920 に答える