-3

この jQuery は機能していません。私はそれがちょっと奇妙に見えることを知っています。しかし、どうすればそれを機能させることができますか?

JavaScript セクションの CSS の変更が機能していません。.blur では、フィールドに何も含まれていない場合、jQuery はテキスト ボックスの色を変更する必要があります。

フィールドにblur何もない場合、テキストが変更され、テキストの色が変更されます。フィールドに「Search Within」があるfocus場合、テキストが変更され、テキストの色が変更されます。

http://jsfiddle.net/7P5J8/

インライン JavaScript を削除する必要がありますか?

4

4 に答える 4

2

これを試して、問題が解決するかどうかを確認してください:

$("#additionalsearch").focus(function(){
if (this.value == "Search Within")
{
    this.value = "";
    $(this).css('color','#000000');
 }
});

$("#additionalsearch").blur(function(){

        if (this.value == "")
        {
            this.value = "Search Within";
            $(this).css('color','#a9a9a9');
        }
    });

http://jsfiddle.net/GhA2u/

于 2012-02-04T23:44:19.563 に答える
2

インライン コードはイベント ハンドラの前に実行されるため、削除する必要があります。
HTML はパーセンション用にのみ保持する必要があります<script>。タグ内および .JS ファイル内に配置されたすべてのロジックと JavaScript はさらに優れています。

JSFiddle を修正

JQuery

$(document).ready(function() {
    $('input#additionalsearch').focus(function() {
        if (this.value === 'Search Within') {
            $(this).css('color', '#000000').val('');
        }
    });
    $('input#additionalsearch').blur(function() {
        if (this.value === '') {
            $(this).css('color', 'red').val('Search Within');
        }
    });
});

HTML

<input id="additionalsearch" type="text" value="Search Within" />
于 2012-02-04T23:45:09.267 に答える
0

私の最善の推測では、インライン関数が最初に実行されているため、フィールドが空白でクリックアウトすると、インライン関数で何かに設定されます。何があっても、jquery onblur が呼び出されると、フィールドには常にテキストが含まれます (そうでない場合でも、onblur が呼び出された場合でも、jquery が実行される前にインライン関数がテキストを追加するため)。

何をしたいのか詳しく説明していただけますか?多分私は助けることができます。

于 2012-02-04T23:41:43.297 に答える
0

Firebug を介してコードを実行し、css のプロパティ/属性が何であるかを確認します。重要!属性。

于 2012-02-04T23:39:26.100 に答える