Jquery – 隐藏在文档上的任何位置

我有一个div,每当你在它外面点击它时都会隐藏但是我在使用div中的某些链接工作时遇到了一些麻烦(而不是隐藏div)。

$(document).click(function() { fav.hide(); }); theDiv.click(function(e) { e.stopPropagation(); }); 

这就是我整个点击外面和关闭事件所拥有的。 inheritance人:我的div中有两种类型的链接,一种是常规链接,另一种是javascript链接。 常规的一个重定向好,但javascript一个没有做任何事情。

有人可以帮帮我吗? 谢谢。

编辑:

以下是我的代码可能会有所帮助

 var fav = $('#favorites'); // Open & close button $('#favorites_a').click(function(e) { e.stopPropagation(); e.preventDefault(); fav.toggle(); }); $('a.c',fav).live('click', function(e) { alert('hey'); }); $(document).click(function() { fav.hide(); }); fav.click(function(e) { e.stopPropagation(); }); 

HTML(在页面加载后构建):

 

这可能是live()单击事件处理程序的问题。 当您使用live ,事件处理程序实际上附加到文档。 所以事件需要冒泡到文档,但是你的click事件处理程序会阻止冒泡。

它适用于delegate

 fav.delegate('a.c', 'click', function(e) { alert('hey'); }); 

这里,事件处理程序被添加到fav

DEMO

我认为你的代码是阻止’B’链接工作。 而不是.live(),尝试:

 $('a.c').click(function() { ... }); 

代替。