質問

Jqueryでこのjsfiddleコードを見つけました http://jsfiddle.net/anderskitson/AtqHm/ jsfiddle では正常に動作しますが、HTML ファイルに実装しようとすると動作しません。でホストしています http://anderskitson.ca/tests/javascript/clearOnHover.html 非常に基本的な設定なので、なぜ機能しないのかわかりません。ご協力をいただければ幸いです。

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Rat Recipes</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
    </head>
    <body>
        <div id="form">
    <form method="post">
    <input type="text" class="class-11" value="Enter Choice #11">
    <input type="text" class="class-21" value="Enter Choice #21">​
    <input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" />
    </form>
         <script>
        $(document).ready(function() {
        var default_val = '';
        $('input[class^="class-"]').focus(function() {
            if($(this).val() == $(this).data('default_val') || !$(this).data('default_val')) {
                $(this).data('default_val', $(this).val());
                $(this).val('');
            }
        });

        $('input[class^="class-"]').blur(function() {
            if ($(this).val() == '') $(this).val($(this).data('default_val'));
        });
    });​
        </script>
    </body>
</html>
役に立ちましたか?

解決

上記のスニペットには表示されていない、ready() 関数の末尾に認識できない文字があるようです。コードをコピー/貼り付けてメモ帳++に貼り付けると、「?」が表示されます。キャラクター。これを削除すると、コードが正しく機能するようになります。

他のヒント

Chrome で 29 行目でエラーが発生しました。これは、何らかの理由で、一般的なブラウザが最後の if ステートメントに中かっこがないことを許容していないことを示唆しています。試す:

if ($(this).val() == '') { $(this).val($(this).data('default_val')); }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top