有一个输入文本框,点击以后会弹出一个div层(均已实现),现在想在页面上其他地方(该div层和文本框上不能触发)点击的时候关闭弹出的div层,这个用js怎么实现?jquery
$("div层id").blur (绑定click)
没有效果。怎么实现这个效果
$("div层id").blur (绑定click)
没有效果。怎么实现这个效果
解决方案 »
- 全文中用javascript中去除指两个字符串之间以及这两个字符串的内容
- javascript如何实现下拉列表
- 如何运用代码去除/隐藏以下动态代码
- javascript相加计算问题
- JavaScript 如何获取服务器端变量
- Dojo.Require 加载普通JS文件的问题
- 求将页面上指定内容另存为本地文件的javascipt代码,和csdn论坛上的保存功能相似。
- 在不同城市,点击进入的页面不同,各位请进!
- 字符串提取问题
- 求个用Javascript把页面内所有图片全部压缩的代码,注意不是用CSS改width
- jquery前后台交互,后台数据处理处了问题
- extjs中new Ext.Window有一个autoLoad页面提交问题,求帮忙
var o = e.target; //获取当前点击对象,下面执行判断不是当前文本框并且不是弹出层
if (o[0] != $('#文本框ID')[0] && o.closest('#弹出层的ID').size() == 0) $('#弹出层的ID').hide();
});
//==>忘记转为jq对象了
var o = $(e.target);
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function init(){
var input=document.getElementById("test");
input.onclick=function(e){
var styles={
position:"absolute",
height:"20px",
top:"0px",
width:"100px",
left:"0px",
backgroundColor:"red"
}
var div=document.createElement("div");
for(var i in styles){
div.style[i]=styles[i];
}
div.setAttribute("id","div");
document.body.appendChild(div);
var a=e||window.event;
if(e.cancelBubble){
e.cancelBubble=true;
}else if(a.stopPropagation){
a.stopPropagation();
}
}
document.onclick=function(){
var div=document.getElementById("div");
if(div){
document.body.removeChild(div);
}
}
}
window.onload=init;
</script>
</head><body>
<input type="button" value="test" id="test">
</body>
</html>
给document加个click事件 这样当点击任何元素时都会冒泡到document上,把点击不需要删除div的元素阻止冒泡试试可以不
$(document).unbind( "mousedown" );
}, function(){
$(document).bind("mousedown", function(){
对象隐藏
取消mousedown事件绑定
});
});
谢谢大家 我是这么实现的