js使用事件阻塞冒泡来隐藏单击空白模式框。
很多时候,当我们做前端的时候,我们会有这么小的功能,点击和弹出一个框架,但是有时候,如果我们不想操作,我们想点击一个空白并隐藏框架。这很简单,但我们要点击空白部分隐藏对话框,添加按钮:按钮ID,ID模型的模式:
也许我们最简单的思维方式是直接在文档上监听事件,伪代码如下所示:
按钮弹出事件监视器:
复制代码代码如下所示:
$(# BTN)。Bind(单击
如果(e.stoppropagation){ / /需要防止泡沫
e.stoppropagation();
其他{ }
e.cancelbubble =真;
}
})
复制代码代码如下所示:
$(文档)Bind(单击
如果(单击事件不在模型上){
隐式框架;
}
})
乍一看,这是没有问题的,但事实上,有很多的问题,首先,我们必须注意防止泡沫,否则,单击按钮,实际触发是以上两,模态是玩出来的,是玩出来的,立即的和隐藏的,和,当我们在对话框的时候很多小控件,我们点击框模式,它是很难判断。
在这里,我认为有一个最经典的方法,非常简单,但非常聪明。
首先,监视一个模态框的事件如下:
复制代码代码如下所示:
$(#模态)。Bind(单击
如果(事件。里面){
event.stoppropagation();
{人}
event.cancelbubble =真;
}
});
只需在模态框中停止单击事件即可冒泡,
然后uff1a
复制代码代码如下所示:
$(文档)。
目标= $(var $ e.currenttarget);
如果target.attr($(ID)!=模式{){
$(#模态)。Css(显示
}
});
做吧,那么简单