当前位置: 代码迷 >> ASP.NET >> 想做个用户控件,焦点在<div>外就消失解决办法
  详细解决方案

想做个用户控件,焦点在<div>外就消失解决办法

热度:8413   发布时间:2013-02-25 00:00:00.0
想做个用户控件,焦点在<div>外就消失
.net 2.0 ,想做个用户控件,里面有个TreeView,点击按钮弹出这个树,
要求:当鼠标点击这个用户控件之外,树消失。(点击树的CheckBox不消失)

应该用到的是js的脚本,TreeView是服务器控件,该怎么做?

------解决方案--------------------------------------------------------
1 判断鼠标位置,是否在控件内部;
2 触发点击事件;
------解决方案--------------------------------------------------------
clientX,clientY
网上找个确定鼠标位置的js代码看下就知道了
------解决方案--------------------------------------------------------
<div>的 onmouseover 和 onmouseout 事件里控制 是否显示就可以了。
------解决方案--------------------------------------------------------
不用知道div的位置。

如果div有id的话,判断点击事件是否在div内就可以了。

HTML code
<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>
  相关解决方案