想做个用户控件,焦点在<div>外就消失
.net 2.0 ,想做个用户控件,里面有个TreeView,点击按钮弹出这个树,
要求:当鼠标点击这个用户控件之外,树消失。(点击树的CheckBox不消失)
应该用到的是js的脚本,TreeView是服务器控件,该怎么做?
[解决办法]
1 判断鼠标位置,是否在控件内部;
2 触发点击事件;
[解决办法]
clientX,clientY
网上找个确定鼠标位置的js代码看下就知道了
[解决办法]
<div>的 onmouseover 和 onmouseout 事件里控制 是否显示就可以了。
[解决办法]
不用知道div的位置。
如果div有id的话,判断点击事件是否在div内就可以了。
<html><head><style type="text/css"><!--.mainBox {float: left;height: 300px;width: 100%;}.subBox1 {float: left;height: 300px;width: 50%;background-color:blue;}.subBox2 {padding: 0px;float: left;height: 300px;width: 50%;background-color:black;}.subBox4 {float: left;height: 300px;width: 50%;background-color:red;}.subBox3 {float: left;height: 300px;width: 50%;background-color:green;}--></style><script><!--// 仅适合IEdocument.attachEvent("onclick", function(){ _Foo("subBox1") } );_Foo = function(sDivId){ var oTarget = window.event.srcElement; if( sDivId == oTarget.id ) alert("should do something"); else alert("do nothing");}--></script></head><body><div class="mainBox"><div id="subBox1" class="subBox1"></div><div id="subBox2" class="subBox2"></div></div><div class="mainBox"><div id="subBox3" class="subBox3"></div><div id="subBox4" class="subBox4"></div></div></div></body></html>