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() { ... });
代替。