我試圖在用戶單擊div後添加一個$('body').live('click')
偵聽器。目的是創建一個自定義下拉框,用戶可以通過點擊頁面上的任何位置打開並最終關閉。在.click()函數中使用.live('click')觸發自己
但是當我添加.click()
函數內部.live()
或.bind()
功能,live()
功能被觸發某種原因:
$('#myDiv').click(function(){
$('#myDiv .child').show().addClass('showing');
$('body').live('click', function(){
$('#myDiv .child').hide();
$('body').die();
})
})
#myDiv
顯示,而是立即隱藏,由揮之不去.showing
類證明。
我使用live()
錯了嗎?我如何避免這種遞歸?
解釋什麼是你想這樣做,而不是解釋目前自己在做什麼。也許我們可以提供替代方案,而不是修復潛在的錯誤代碼。 – Joseph 2012-04-05 02:47:26