0

HTMLとjQueryを使用して透かしテキストボックスを作成したいのですが、別のページに移動して再び透かしテキストボックスページに戻ると、透かしテキストが通常のテキストで表示されるという問題があります。

以下は私のjQueryコードです:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script type="text/javascript">

    (function ($) {
        $.fn.extend({
            inputWatermark: function () {
                return this.each(function () {
                    // retrieve the value of the ‘placeholder’ attribute
                    var watermarkText = $(this).attr('placeholder');
                    var $this = $(this);
                    if ($this.val() === '') {
                        $this.val(watermarkText);
                        // give the watermark a translucent look
                        $this.css({ 'opacity': '0.65' });
                    }



                    $this.blur(function () {
                        if ($this.val() === '') {
                            // If the text is empty put the watermark
                            // back

                            $this.val(watermarkText);
                            // give the watermark a translucent look
                            $this.css({ 'opacity': '0.65' });
                        }
                    });



                    $this.focus(function () {
                        if ($this.val() === watermarkText) {
                            $this.val('');
                            $this.css({ 'opacity': '1.0' });
                        }
                    });
                });
            }
        });

    })(jQuery);
</script>

ここに私のHTMLコードがあります:

<body>
<input id="input1" placeholder="Placeholder here..." />
<input id="input2" placeholder="2nd Placeholder" />
<a href="../../back.htm">google</a>
<script type="text/javascript">

    $(document).ready(function () {
        $(':input').inputWatermark();
    });

</script></body>
4

1 に答える 1

1

変更してみてください:

if ($this.val() === '') {

var txtVal = $.trim( $this.val() );
if ( txtVal === '') {

のように色を追加します

...
$this.css({ 'opacity': '0.65' });
$this.css({ 'color': '#a8a8a8' });
于 2013-02-27T07:52:57.943 に答える