2011-05-11 90 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"); 
    }  
});