我的最终目标是在“我的页面”中捕获特定事件,同时将所有其他事件传递给 iFrame。起初我想尝试 z-index 并在 iFrame 上放置一个 div,但这会捕获所有事件。从这个网站上的答案中得到线索,但由于某种原因,它似乎不起作用。我是新手所以可能很简单,只是看不到,希望您指出错误。
这是我的测试:
<script language="javascript" type="text/javascript">
function fH() {alert("a trunk, Hello World!");}
function fG() {alert("a branch, Goodbye Moon!");}
function fS() {alert("a leaf, Here comes the sun!");}
function RightMouseDown() {return false;}
x=document.getElementById("b");
x.addEventListener('click','fH()',false);
</script>
<body>
<div id="trunk" onmousedown="fH()"> <p id="branch" onmousedown="fG()">Stout and strong, <em onmousedown="fS()">green and broad</em></p></div>
<div id="t"><p id="b">Stout and strong, <em id="l">green and broad</em></p></div>
</body>
- 当我在第一个 div 中单击“绿色和广泛”时,我得到 S、G、然后是 H 警报 - 气泡(Firefox 和 Chrome)
- 我想反转并捕获所以认为 x=doc... 和 x.addEv... 会这样做,但在第二个 div 中没有任何动作???
第二次测试验证建议:
<body>
<div id="iframe" onmousedown="fH()"><h3>iFrame</h3></div>
<div id="wpane" onmousedown= "fG()"><h3>wPane</h3></div>
<body>
CSS:
#iframe {color: blue; position: absolute; border: 1px solid blue; top: 100px; left: 100px; z-index: 0;}
#wpane {color: black; border: 1px solid black; position: absolute; top: 115px; left: 135px; z-index: 0; opacity: 0;}
看起来我不知道什么是“隐形元素”......