2010-04-01 56 views
1

我有這個(非常)簡單的JavaScript被稱爲當用戶點擊「取消」鏈接功能:簡單的jQuery代碼包含語法錯誤,我無法找到

function hideNewUserPanel(){ 
    $('#create_user_panel').slideUp('slow'); 
    $('.right_interior_panel').slideDown('slow'); 
} 

和代碼添加處理程序:

$(function(){ 
    $('#cancel_create_user_btn').live('click', 
     function(){ hideNewUserPanel(); } 
    ) 
}); 

在功能上,一切都按預期工作。麻煩的是,當我點擊「取消」鏈接,螢火蟲顯示在控制檯中的錯誤:

未捕獲的異常:語法錯誤,無法識別的表達:

我已經通過代碼加強幾個#次數,錯誤出現在撥打hideNewUserPanel()之前的某個時間點。冒着聽起來像「那些程序員」(聲稱已經發現GCC中的錯誤並假定他們自己的代碼是完美的)之一的風險,這個例外是從jQuery本身的某個地方拋出的,所以我認爲這個問題是在那裏。我正在使用jQuery 1.3.2(這是一個使用許多jQuery插件的舊項目,如果我們更新到1.4.x,它將會中斷)。

我的代碼有什麼明顯的錯誤,我根本沒有看到?坦白地說,這段代碼非常簡單,我真的不知道這個問題會是什麼。

謝謝!

+0

什麼,jQuery不完美? :) – Robusto 2010-04-01 17:14:23

+0

@Robusto - 顯示許多任何主流的語言作品沒有正確關閉大括號,IE5和HTML不計算在內! :) – 2010-04-01 17:15:34

+1

請注意,可能只是:'$('#cancel_create_user_btn')。live('click',hideNewUserPanel);' – 2010-04-01 17:15:46

回答

4

此:

$(function(){ 
    $('#cancel_create_user_btn').live('click', 
     function(){ hideNewUserPanel(); } 
}); 

功能後需要關閉括號,就像這樣:

$(function(){ 
    $('#cancel_create_user_btn').live('click', 
     function(){ hideNewUserPanel(); }); 
}); 

此外,您還可以編寫一個簡單一點:),試試這個:

$(function(){ 
    $('#cancel_create_user_btn').live('click', hideNewUserPanel); 
}); 
+0

* paren,not parent,methinks ... – 2010-04-01 17:17:52

+0

廢話 - 實際上這是一個抄寫錯誤。代碼中出現了這個關閉paren,我只是忽略了將它添加到我的問題中。我會更新這個問題。 – inkedmn 2010-04-01 17:18:18

+0

問題是,在解析腳本塊時不會生成語法錯誤,而不是稍後?我想知道在選擇器引擎中是否有某些東西變得困惑。 – Pointy 2010-04-01 17:18:45

1

您好像是msise電話的結尾:

$(function(){ 
    $('#cancel_create_user_btn').live('click', 
     function(){ hideNewUserPanel(); } 
    ); // <=== 
}); 
0
$(function() { 

     function hideNewUserPanel() { 
      $('#create_user_panel').slideUp('slow'); 
      $('.right_interior_panel').slideDown('slow'); 
     } 

     $('#cancel_create_user_btn').live('click', function() { hideNewUserPanel(); }); 



    });