2011-05-11 40 views
0

此代碼扔我一個語法錯誤:這裏我的JQuery語法有什麼問題?

$("body").live("click", (function(){ 
     if ((! mouse_is_inside) && ($("div#notification_box").is(":visible"))) { 
      $("div#notification_box").hide(); 
      $("p.exclamation").removeClass("exclamation_hover"); 
      $.ajax("/videos/update_box.js"); 
     }  
    }); 

回答

4

function之前取出(。你有不匹配的括號。

+1

+1 @user:您只需要把周圍的函數表達式的括號當*你*約調用該函數,例如:'(function(){...})()'(注意表達式周圍的parens,以及最後的parens,定義後立即調用該函數)。當你僅僅使用函數表達式作爲右邊的值時(就像你在那裏,把它傳遞給'live'函數),不需要將'function'包裝在parens中。 (當然,你的夥伴必須匹配。) – 2011-05-11 03:57:13

0

您有一個額外的前(function(){

下面是正確的代碼:

$("body").live("click", function(){ 
    if ((! mouse_is_inside) && ($("div#notification_box").is(":visible"))) { 
     $("div#notification_box").hide(); 
     $("p.exclamation").removeClass("exclamation_hover"); 
     $.ajax("/videos/update_box.js"); 
    }  
});