我有一个div隐藏,只要你点击它外面但我有一些麻烦得到div内的某些链接工作(而不是隐藏div).
$(document).click(function() {
fav.hide();
});
theDiv.click(function(e) {
e.stopPropagation();
});
这就是我整个点击外面和关闭事件所拥有的.接下来的事情:我的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(在页面加载后构建):
<div id="favorites">
<div class="wrap">
<ul><li><a href="/abc" class="p">A</a><a href="#" class="c">B</a></li></ul>
</div>
</div>
最佳答案 这可能是live()单击事件处理程序的问题.当您使用live时,事件处理程序实际上附加到文档.所以事件需要冒泡到文档,但是你的click事件处理程序会阻止冒泡.
它适用于delegate
:
fav.delegate('a.c', 'click', function(e) {
alert('hey');
});
这里,事件处理程序被添加到fav.