2012-02-20 115 views
1

我發現這jsfiddle代碼Jquery 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> 
+0

您使用的瀏覽器是什麼? – 2012-02-20 21:40:22

+0

我正在使用safari – 2012-02-20 21:51:47

回答

4

看起來好像在上面的代碼片段中沒有出現ready()函數末尾有一些無法識別的字符。當我將代碼複製/粘貼到Notepad ++時,我看到一個「?」字符。刪除導致代碼正常運行

+1

+1這正是firefox所說的 - 第29行的「非法字符」 – Aprillion 2012-02-20 21:45:10

+0

我如何看到這個字符刪除它,我正在使用文本伴侶,我也粘貼到代碼到尾聲和文本編輯,我沒有看到「?」字符。 – 2012-02-20 21:51:23

+0

我在最後看到它;和標籤。我會建議只刪除那裏的所有字符,並手動輸入它們 – 2012-02-20 21:54:02

1

我上線29獲得在Chrome中的錯誤,這表明,我認爲在野外某種原因,瀏覽器(S)正在對你的最終if語句缺少大括號的那麼寬容。嘗試:

if ($(this).val() == '') { $(this).val($(this).data('default_val')); } 
+0

更改爲此不會做任何不同的事情。 – 2012-02-20 21:50:41