div弹出层遮罩ActiveX控件

jiuzhangcs21dn 2013-07-19 08:44:48
现在开发的一个项目用到ActiveX控件,和ligerUI的布局ligerLayout,把控件包在IFrame中嵌入到布局的中间,布局是左右的,现在遇到的问题是按下布局的中间拖拉部分后,向右拖到ActiveX控件上时,ActiveX控件遮挡了ligerUI的布局事件,无法拖拉成功,想问问各位高手,有没有好的办法?

从网上搜索的div遮罩activeX的方法,试了下都不起作用,是我试的不对,还是本身就不行呢?

---------------------------下面是从网上搜索到的解决办法---------------------------------------
在IE6以后版本存在称之为shim的解决办法,基本思路是这样的,在当前页面动态创建一个iframe,其z-index比当前的要高,则这个iframe会呈现在最上方,然后将弹出的div的z-index设置比这个iframe的要高,此时弹出的div就能遮罩住ActiveX控件了,示意见如下简图(实际div是与iframe重合的)。
//popDiv是弹出层,nowindex是当前的z-index
popDiv.style.zIndex=nowindex+1;
//加一个iframe以遮住ActiveX
if($get("__iframeBodyCover" + winname )==null){
var iframeBodyCover = document.createElement("iframe");
iframeBodyCover.id = "__iframeBodyCover"+winname;
iframeBodyCover.style.cssText = "position:absolute;top:0;left:0;width:" + document.body.clientWidth+ "px; height:" + document.body.clientHeight + "px;background-color:#000000;filter:alpha(opacity=0);display:none;";
iframeBodyCover.src ="javascript:false;";
document.body.appendChild(iframeBodyCover);
}
//iframe的z-index比div的要低
$get("__iframeBodyCover" + winname ).style.zIndex = nowindex;
当然这时候在IE6下自然也能遮罩住select了,方法还是有一点巧妙地
...全文
264 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ye_ilove 2014-08-24
  • 打赏
  • 举报
回复
试下在页面上加上<meta content="IE=edge" http-equiv="X-UA-Compatible">

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧