为什么点击外侧太早发射? 对话框打开然后被此事件关闭,因此用户甚至无法看到对话框
随附setTimeout()
,它可以正常工作。
$(".haspopup").click(function () {
var id = $(this).attr("data-dialogid");
var dlg = $("#" + id);
// reopen dialog
if ($(this).data("hasDlg")) {
dlg.dialog("open");
}
// init dialog
else {
// move caption to dialog's title
var title = "search and filter";
if (dlg.find(".title")) {
title = dlg.find(".title").html();
dlg.find(".title").remove();
}
// add dialog
dlg.dialog({
position: {
my: "left top",
at: "left top",
of: $(this)
},
width: "auto",
resizable: false,
title: title
});
$(this).data("hasDlg", true);
// close dialog after click
dlg.find(".lt-sort,.lt-search").click(function () {
dlg.dialog("close");
});
// close dialog after click outside
setTimeout(function () {
dlg.bind("clickoutside", function () {
dlg.dialog("close");
});
}, 500);
}
});
任何提示?