我试图在单击按钮时创建覆盖,然后在用户单击覆盖外部时将其删除。在我的示例中,当单击叠加层时,目标返回长度为“0”,我无法弄清楚为什么当此方法与我使用过的其他示例一起使用时。任何的想法?
这是js
$(document).ready(function() {
$(document).on("click",".pop", function() {
if ($('#search-overlay').length === 0) {
$('body').append('<div id="search-overlay"></div>');
}
});
$(document).on("mouseup", function(e) {
var container = $("#search-overlay");
if (container.has(e.target).length === 0) {
alert(container.has(e.target).length);
container.remove();
}
});
});
以及您在其中看到它的链接http://jsfiddle.net/CwrAh/