我有一个对话框供所有用户点击一个项目,点击后打开....这是代码:
$("#byproject").live("click", function() {
$("#projectPicker").fadeIn();
return false;
});
// Close the space dialog on selection
$(".projectSelect").live("click", function() {
$("#projectPicker").fadeOut('fast');
});
这样可以很好地打开位于绝对位置的对话框,在“选择项目”按钮旁边...
这里的问题是,如果用户在框外点击(即他们改变主意),框就不会关闭......
我能说一些聪明的方法,当这个东西打开时,如果用户点击对话框外的任何地方,请关闭它吗?
由于
答案 0 :(得分:3)
您需要将单击事件附加到将关闭窗口的文档正文,并阻止单击事件的传播,因此单击窗口将不会关闭它。我给a similar question 2 years ago写了一个类似的答案 - 不确定它是否足够类似于关闭这个。
$('body').click(function() {
//Close window
});
$('#projectPicker').click(function(event){
event.stopPropagation();
});
顺便问一下,您是否有理由在链接上使用直播活动?至少具有id的那个应该使用常规点击事件。
答案 1 :(得分:0)
我认为这应该足够了
$('*').click(function(e){
e.stopPropagation();
if($(this).is('#byproject')){
$("#projectPicker").fadeIn();
return false;
}else{
$("#projectPicker").fadeOut();
}
});
因此,如果打开对话框,则在页面上单击的任何其他元素都将关闭对话框。