IE下object元素遮挡div表单

目前遇到这样的一个问题:

我用ActiveX插件做了一个C#的播放器,要将这个插件放到web浏览器中,然后可以通过前台页面来控制视频的播放,暂停还有回放,这个时候发现object的onclick事件无法相应,一搜索,确实是这样。那么怎么办呢?万能的搜索啊,终于有两种解决方案:

1,js监听ActiveX控件的行为。(按照网上给的,行不通,监听失败,原因是很多都是10年左右用vc++写的ocx插件的方法,现在行不通)

2,直接通过js控制。

很明显采用第2个方法,于是新的问题就出现了:

怎么调用?

于是有搜索,一种解决方案:div覆盖。

于是就出现了标题中的问题:IE下object元素遮挡div表单

解决方案为:用iframe:

原理:Iframe框架可以遮盖OBJECT、SELECT,DIV可以遮盖Iframe。因此,我们可以将Iframe放置在DIV层内,将Iframe大小宽度设置成与层一样放置在层之下,当层经过OBJECT、SELECT时,下方的框架将替层遮盖其不能遮盖的控件。
需要说明的是使用HTML标签属性设置显示层次,必须是z-Index而不是zIndex。zIndex是使用脚本动态修改属性使用。两者不通用。

原因:

大多表单控件或HTML控件是使用浏览器本身渲染绘制,因此层次可以由浏览器自身控制。而SELECT控件是Windows窗口控件,同样可见型ActiveX容器也是使用面向Windows技术开发。它们表现实质仍是相同,都是Windows窗口包含句柄。因此,浏览器不能对其调整层次,浏览器本身与他们都是平级的

最后解决方案:

  <td class="videoBox">
                        <div class="videoDiv" style="background-color:#f00;"  onclick="clickme()">
                            <iframe  src="about:blank" frameBorder=0 marginHeight=0 marginWidth=0
                                    style="position:relative; visibility:inherit; top:0px;left:0px;height:100%;width:100%; z-Index:-1; filter=‘progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)‘;">
                            </iframe>
                        </div>
                        <object id="player00" name="player00" classid="clsid:0aafd513-e1ed-4ce9-8539-9434f9106030" selected="true" displaying="true" style="width: 100%;height: 590px;margin: auto" >
                        </object>
                    </td>

object覆盖div

对应的CSS

        .videoBox{
            position:relative; /*给表格的td设置绝对定位属性*/
        }
        .videoDiv{
            width:100%;
            height:100%;
            position:absolute;
            left:5px;
            top:0;
            z-index:11;/*给覆盖在视频上面的div设置相对属性,其中z-index一定要比视频的z-index数值高*/
        }
        object{
            position:relative;
            left:0;
            top:0;
            z-index:10;
        }

对应的css

原文来自于

原文

时间: 2024-08-01 21:40:44

IE下object元素遮挡div表单的相关文章

下拉选择框改变表单action的简单例子

做了个简单的小例子 用js弄的. form  的代码 1 <form  action=""  method="post" id="formRole"> type的 下拉单 1 2 3 4 5 6 <select name="type" id="type"  onchange="changeAction()">       <option value=&quo

如何清空IE下file文件控件表单里面的值

在IE下由于安全的策略,没法通过$(":file").val('')来清空里面上传的值.那我们只能通过克隆节点的方法来实现清空. 如下: var file = $(":file"); file.after(file.clone().val("")); file.remove(); 这样就可以清空里面的值了. 如何清空IE下file文件控件表单里面的值

一步一步学习 JQuery (四) 过滤选择器:属性过滤选择器 &amp;&amp; 子元素过滤选择器 &amp;&amp; 表单过滤选择器

四.属性过滤选择器 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素 选取下列元素,改变其背景色为 # bbffaa 含有属性title 的div元素. 属性title值等于"test"的div元素. 属性title值不等于"test"的div元素(没有属性title的也将被选中). 属性title值 以"te"开始 的div元素. 属性title值 以"est"结束 的div元素. 属性title值 含有"

[ jquery 表单UI选择器和表单元素属性选择器 ] 表单UI选择器和表单元素属性选择器

表单UI选择器和表单元素属性选择器: 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyword2,keywo

div表单

组合表单中的相关元素: <div id="leftSide">    <fieldset>    <legend>个人信息计</legend>    <form action="" method="POST" class="form">        <label for="name">姓名</label>        &

jQuery-处理元素内容、表单元素

处理元素内容 1.text方法 使用说明: 1)不传参数 得到jQuery对象内所有元素及其后代元素的文本内容 2)传入用于设置匹配元素的文本内容 3)传入function 使用函数来设置jQuery对象中每个元素的文本 两个参数:第一个表示当前元素序号,第二个参数表示当前元素的文本 函数内部this代表当前的html元素对象 返回要设置的内容 2.html方法 取得第一个匹配元素的html内容 或 设置元素的html内容 使用方式同上处理表单元素 1.val方法 使用说明: 1)不传参数 得到

按下回车默认提交form表单问题

最近开发中碰到一个问题,项目中有几个列表展示页面,允许用户通过查询条件模糊查询数据.用户录入关键字后点击回车会调用查询方法根据关键字查询,原先功能没有问题,但是最近发现在查询输入框中按下回车会直接刷新页面不调用查询方法.检查发现有人在查询模块新增了一个form表单,找了很多和form表单相关资料才发现当form表单内只有一个type="text"类型的<input>标签时按下回车默认会提交form表单.解决方法很简单就是在form表单内新增一个隐藏的type="t

学习Selenium元素定位--多表单切换

在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中. #!/usr/bin/env/ python # coding:utf-8 # Date:2019/1/10 from selenium import webdriver import time #打

点击含下拉菜单的列表/表单按钮:通过JS创建虚拟按钮并点击

${JsCode} | Get Element Attribute | XPATH=//table[@class='mnubar']//tr//td//span[text()='${MenuArr[0]}' and @class='mnuBtn']/parent::span/table[@class='mnuList']//tr/td[text()='${MenuArr[1]}']/parent::[email protected] 注释: 1.MenuArr为传入的需要点击的按钮路径,如:新增