2012-04-02 28 views
0

這是我的問題。每次我加載頁面時,我都會收到一條警告消息,並點擊「我」,但我無法理解我做錯了什麼。我沒有點擊過。 mouseover或我添加的任何函數也會發生同樣的情況。未採取行動檢測到jQuery操作

<script> 
    $jq().ready(function(){ 
     $jq(".clickable").click(alert("Click")); 
     // Hide all the questions and answers 
     $jq(".faq-section").each(
      function(){ $jq(this).css("display", "none"); } 
     ); 
    }); 
</script> 

我很抱歉,如果這是一個愚蠢的問題。

+0

作爲一個側面說明,你的'.each'可以消除 - '.css'將在內部做了一個'。每'循環,以便'.css'應用於所有選定的元素。 – pimvdb 2012-04-03 12:50:46

回答

5

這是因爲這一行$jq(".clickable").click(alert("Click"));。您不用傳遞函數引用,而是在這裏調用函數。

將其更改爲

$jq(".clickable").click(function(){ 
    alert("Click"); 
    //do stuff here 
}); 
+0

+1,很好的解釋。 – 2012-04-02 21:20:56

3
$jq(".clickable").click(alert("Click")); 

應該

$jq(".clickable").click(function(e){ alert("Click"); e.preventDefault(); });