2012-10-05 48 views
0

我有一個超鏈接,我想在該超鏈接的單擊事件上執行一個函數。 該功能本身的作品,但問題是我需要兩次點擊才能執行該功能。該超鏈接需要兩次點擊來執行一個JavaScript函數

我試圖谷歌,但沒有得到任何工程。將是很好,如果有人可以指出錯誤我在做什麼... :)

$("#btn_logout").click(function() { 
      logout(); 

      }); 

,這是鏈接

<a href="#" id="btn_logout">[Log off]</a> 
+0

什麼的'註銷()'函數做的工作? – billyonecan

+0

var logout = function(){ chat.logout(); getUsers(); } – kandroid

+2

將記錄添加到事件處理程序中(類似於console.log('logout called');' - 這裏假定您使用Firebug或其他現代調試控制檯)。它真的不是第一次執行嗎?這個問題更可能與你自己的功能有關。 – Tgr

回答

0

嘗試添加

e.preventDefault( );

$("#btn_logout").click(function (e) { 
e.preventDefault(); 
logout(); 
}); 
+0

nop..doent work。我剛剛試過這個 – kandroid

+0

你有沒有收到任何錯誤信息? – Muleskinner

+0

否..沒有錯誤信息。這種行爲對我來說有點奇怪。如果我點擊一次並等待5/6秒,然後再次單擊。有用。 – kandroid

0

[忽略] 您還需要停止從做明顯的點擊。

$("#btn_logout").click(function(e){ 
    e.preventDefault(); 
    e.stopPropagation(); 
}).dblclick(function() { 
    logout(); 
}); 

[/忽略]

我完全理解錯了。對不起這是我的錯。

我認爲這裏的解決方案可以

$("#btn_logout").bind('click', function(e){ 
    e.preventDefault(); 
    logout(); 
}); 

我通常綁定的情況下,即使它應該是。點擊

+1

當我讀到這個問題時,OP希望單擊工作。問題是logout()僅在dblclick上執行。 – Muleskinner

0
$("#btn_logout").click(function(e){ 
    e.preventDefault(); 
    e.stopPropagation(); 
    logout(); 
});​ 
相關問題