87,990
社区成员
发帖
与我相关
我的任务
分享
<div style="display:block;position:absolute;border:1px solid #ccc;" id="dateControl">日期控件容器</div>
<script type="text/javascript">
//<![CDATA[
var EventUtility = {
addHandler: function (element, eventName, handler) {
if (typeof element.addEventListener === "function")
element.addEventListener(eventName, handler, false);
else if (typeof element.attachEvent === "object")
element.attachEvent("on" + eventName, handler);
else
element["on" + eventName] = handler;
}
};
function handler(event) {
var target = event.target || event.srcElement;
if (target.id === "dateControl") {
if (event.stopPropagation)
event.stopPropagation();
else
window.event.cancelBubble = true;
}
else {
document.getElementById("dateControl").style.display = "none";
}
}
var root = document.documentElement || document.body;
EventUtility.addHandler(root, "click", handler);
EventUtility.addHandler(document.getElementById("dateControl"), "click", handler);
//]]>
</script>
$(document.body).click(function(event){
if(!($(event.target).attr("id")==id || $(event.target).parents("#"+id).is("div")))
{
alert("需要隐藏");box.Hide()
}
});
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="a" style="width:100%; height:100%; position:relative;">
<a href="javascript:void(0);" onclick="show(event)">点击显示层</a>
<div id="kks" style="display:none;position:absolute;top:100px;left:100px;width:160px;height:100px;background:#000;">
层内容
层内容
层内容
</div>
</div>
<script>
function show(evt){
var e =(evt)?evt:window.event;
if (window.event) {
e.cancelBubble =true ;
} else {
//e.preventDefault();
e.stopPropagation();
}
document.getElementById("kks").style.display="block";
}
function _close(evt){
var e =(evt)?evt:window.event;
e = e.target || e.srcElement;
if(e.id != 'kks')
document.getElementById("kks").style.display="none";
}
document.getElementById('a').onclick = _close;
</script>
</body>
</html>
<div class="noExists" style="display:block;position:absolute;border:1px solid #ccc;" id="dateControl">
<div class="noExists" id="subContainer">日期控件容器</div>
<div class="noExists">
<button class="noExists">test</button>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
var EventUtility = {
addHandler: function (element, eventName, handler) {
if (typeof element.addEventListener === "function")
element.addEventListener(eventName, handler, false);
else if (typeof element.attachEvent === "object")
element.attachEvent("on" + eventName, handler);
else
element["on" + eventName] = handler;
}
};
function handler(event) {
var target = event.target || event.srcElement;
if (target.className === "noExists") {
if (event.stopPropagation)
event.stopPropagation();
else
window.event.cancelBubble = true;
}
else {
document.getElementById("dateControl").style.display = "none";
}
}
var root = document.documentElement || document.body;
EventUtility.addHandler(root, "click", handler);
EventUtility.addHandler(document.getElementById("dateControl"), "click", handler);
//]]>
</script>