一尘不染

自动完成搜索建议下拉菜单弹出窗口

jsp

我正在尝试制作一个弹出式div(当文本框值更改时),可以通过单击div之外的任何位置将其关闭(可见性:无)。与Google建议下拉菜单类似。

我怎么知道在div内部或外部发生了鼠标单击。

我需要使用javascript和jsp来实现。

请帮忙。


阅读 543

收藏
2020-06-08

共1个答案

一尘不染

jQuery的解决方案是

$("body > div").click(function() {
if ($(this).attr("id") == "div-id") {
    // inside the DIV
} else {
    // not inside the DIV
}
});

要么

$("html").click(function (e)
{
if (e.target == document.getElementById("div-id"))
    alert("Inside DIV");
else
    alert("Outside DIV!");
});

或Javascript代码段如下所示:

<script type="text/javascript"> 
document.onclick=check; 
function check(e){ 
var target = (e && e.target) || (event && event.srcElement); 
var obj = document.getElementById('div-id'); 
if(target!=obj){obj.style.display='none'} 
} 
</script>
2020-06-08