iframe的鼠标事件问题!又有新的要求啦! bencalie(Bencalie):对于只有一个iframe是可以的,但这个iframe里还有iframe就不行了啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是我想得到浏览器里所有地方的鼠标事件怎么办?不管是iframe还是frame、body等等,也就是说无论在哪里点击鼠标都让其执行同一个事件!!怎么写呢? <iframe name=iframename src="about:<iframe name=iframename src=></iframe>"></iframe><script>function window.onload(){document.onclick=alertdocument.iframename.document.onclick=alertdocument.iframename.document.iframename.document.onclick=alert}</script> 我也试过啊,但不行啊!是不是这个原因,我的是iframe里有frameset,frameset里的frame的鼠标事件就不行了!最好是用一条语句就可以截获页面上的所有的鼠标的点击事件。有的书里写:window.captureEvents(Event.CLICK);window.onclick=hideAllMenu;但有的书却说是Nav的用法,而IE不支持。我试了,IE总抱Event没定义的错误。到底能不能实现呢? 呵呵,递归遍历frames和document.all.tags("IFRAME")集合咯 错了,只要遍历frames集合就可以了。以下测试通过:test0.html:-------------------------------------------------------------<HTML><SCRIPT defer><!--function attachFrame(f){f.document.onclick=alert;for (var i=0;i<f.frames.length;i++) { var ff = f.frames[i]; attachFrame(ff) }}setTimeout("attachFrame(window)",100)//--></SCRIPT><frameset cols="50%,*"><frame src="test1.html"></frame><frame src="test1.html"></frame></frameset></HTML>-------------------------------------------------------------test1.html:-------------------------------------------------------------<HTML><frameset rows="50%,*"><frame src="test2.html"></frame><frame src="test2.html"></frame></frameset></HTML>-------------------------------------------------------------test2.html:-------------------------------------------------------------<HTML><BODY><iframe src="test3.html"></iframe></BODY></HTML>-------------------------------------------------------------test3.html:-------------------------------------------------------------<HTML><frameset cols="50%,*"><frame src="about:test"></frame><frame src="about:test"></frame></frameset></HTML>-------------------------------------------------------------要注意的是一定要保证attach的代码在所有的frame都下载完成了才可以。此外如果框架是用about:做的就访问不倒,不知是不是IE5的问题,现在没有IE6可以测试。 test:----------------------------------------------------------<HTML><BODY><iframe src='about:<HTML><frameset cols="50%,*"><frame src="about:test"></frame><frame src="about:test"></frame></frameset></HTML>'></iframe></BODY></HTML>----------------------------------------------------------好像又可以了,真奇怪。 emu(ston) :哈哈,厉害!!不愧是星级的人物啊!已经可以了!我也试了!给分! outerHTML已经与firefox兼容,可是不能重新赋值? 怎样用JS实现根据客户机的分辨率的不同显示不同的HTML内容? 大家知道目前国内都有什么js框架吗? 做过字体开发的兄弟请过来看看... 求助!一段js代码解密,急急急! 一个小问题,熟悉DOM的朋友帮忙看看 如何实现选择多个TD,并且取消选择后要恢复原来的背景图片 求Microsoft.XMLDOM的下载地址,在线等 如何循环界面中所有的控件并在循环的每个控件的HTML脚本中加入自己的HTML代码?? 这种菜单怎么做? 如何用js获得图片的大小? 请问能用javascript判断当前ie是否为脱机工作状态?
<script>
function window.onload(){
document.onclick=alert
document.iframename.document.onclick=alert
document.iframename.document.iframename.document.onclick=alert
}
</script>
是不是这个原因,我的是iframe里有frameset,frameset里的frame的鼠标事件就不行了!
最好是用一条语句就可以截获页面上的所有的鼠标的点击事件。
有的书里写:
window.captureEvents(Event.CLICK);
window.onclick=hideAllMenu;
但有的书却说是Nav的用法,而IE不支持。
我试了,IE总抱Event没定义的错误。
到底能不能实现呢?
-------------------------------------------------------------
<HTML>
<SCRIPT defer>
<!--
function attachFrame(f)
{
f.document.onclick=alert;
for (var i=0;i<f.frames.length;i++)
{
var ff = f.frames[i];
attachFrame(ff)
}
}
setTimeout("attachFrame(window)",100)//-->
</SCRIPT>
<frameset cols="50%,*">
<frame src="test1.html">
</frame>
<frame src="test1.html">
</frame>
</frameset>
</HTML>
-------------------------------------------------------------test1.html:
-------------------------------------------------------------
<HTML>
<frameset rows="50%,*">
<frame src="test2.html">
</frame>
<frame src="test2.html">
</frame>
</frameset>
</HTML>
-------------------------------------------------------------test2.html:
-------------------------------------------------------------
<HTML>
<BODY>
<iframe src="test3.html"></iframe>
</BODY>
</HTML>
-------------------------------------------------------------test3.html:
-------------------------------------------------------------
<HTML>
<frameset cols="50%,*">
<frame src="about:test"></frame>
<frame src="about:test"></frame>
</frameset>
</HTML>
-------------------------------------------------------------要注意的是一定要保证attach的代码在所有的frame都下载完成了才可以。此外如果框架是用about:做的就访问不倒,不知是不是IE5的问题,现在没有IE6可以测试。
----------------------------------------------------------
<HTML>
<BODY>
<iframe src='about:<HTML><frameset cols="50%,*"><frame src="about:test"></frame><frame src="about:test"></frame></frameset></HTML>
'></iframe>
</BODY>
</HTML>
----------------------------------------------------------好像又可以了,真奇怪。
哈哈,厉害!!不愧是星级的人物啊!
已经可以了!我也试了!
给分!