我对JQuery有点问题。
好吧,我有一个,当用户点击不像Facebook中的“通知”行为的区域时,我想要隐藏此div。
我找到的解决方案是使用jQuery.live()方法,但我认为有更好的方法。
谢谢。
答案 0 :(得分:4)
假设:
<div class="notification">You have 3 new messages</div>
使用:
$(document).click(function(evt) {
if ($(this).closest("div.notification").length == 0) {
$("div.notification").fadeOut();
}
});
基本上这会听取所有点击。如果在通知div中没有收到一个,则将它们淡出。
答案 1 :(得分:0)
感谢您的回答,但是:
$(this).closest("div.notification").length == 0)
总是给我0(即使我点击div),所以div总是隐藏。
这是我的代码:
$(document).click(function(evt) {
if ($(this).closest("div#show_notif").length==0)
$("div#show_notif").fadeOut();
});
和html:
<div id="click_show_notif" onclick="$('div#show_notif').show();"><img src="http://'+STATIC_SERVER+'/images/notif.png" /><div id="show_notif"></div>
有些东西我忘记了?
答案 2 :(得分:0)
试试这个:
$("#click_show_notif").live('click',function(e) {
$("#show_notif").show();
return false;
});
$('body').live('click',function(e) {
if ($(this).closest("div#show_notif").length==0) {
$("div#show_notif").hide();
}
});