我正在使用bPopUp来显示一个运行良好的隐藏div。选择项目时,此bPopup由DDL触发。现在,当用户在popUp外部单击时,我想将我的DDL重置为值0。
PS:我能够关闭我的popUp,除非我在html页面上点击两次我无法捕获该点击事件。
$("html").click(function () {
if ($('#bPopup').is(":visible")) {
$('#ddl').val('0');
}
});
答案 0 :(得分:2)
$(document).mouseup(function (e) {
var container = $(your container selector);
if (!container.is(e.target) // if the target of the click isn't the container...
&&
container.has(e.target).length === 0) // ... nor a descendant of the container
{
container.hide();
}
});
试试这段代码
答案 1 :(得分:0)
您可以使用event.target
标识点击的元素,请参阅以下代码:
$("html").click(function (e) {
// check if id of clicked element is not bPopup
if(e.target.id!="bPopup")
{
$('#ddl').val('0');
}
if ($('#bPopup').is(":visible")) {
$('#ddl').val('0');
}
});