=波波日志 > JavaScript/Ajax > 当iframe的designMode="On"时,在ff,如何下对iframe添加事件处理函数 =
当iframe的designMode="On"时,在ff,如何下对iframe添加事件处理函数
这几天再搞web编辑器,就为兼容ff搞得我头都大了,特别是如何对designMode="On"的iframe添加事件。好在搞好了,happy。。。
下面是一个demo代码,说明了如何在ff下对designMode="On"的iframe添加事件
下面是一个demo代码,说明了如何在ff下对designMode="On"的iframe添加事件
+展开
-HTML
<html>
<head>
<title>当iframe的designMode="On"时,在ff,如何下对iframe添加事件处理函数</title>
</head>
<body>
<script>
//扩展string原型
String.prototype.trim=function()
{
return this.replace(/^\s*|\s*$/g,"");
}
//扩展string原型
String.prototype.removeHtml=function()
{
return this.replace(/<[^>]*>/gi,"");
}
alert("<aa><bb>aaa<>ddddd".removeHtml())
var IsIE=navigator.appName!="Netscape";
function SetEdit()
{
var frm=IsIE?frames["frm"]:document.getElementById('frm').contentWindow;
frm.document.designMode="On";
//绑定事件,注意要区别ie和ff的绑定,要不无法获取事件对象
if(IsIE)
{
frm.document.onkeydown=function()
{
e=frm.event;//注意要获取的是iframe中的event对象
if(e.ctrlKey&&e.keyCode==13)alert('ChildEvent');
}
}
else//而且为ff时,为了获取事件对象需要addEventListener来添加事件监听。
//而且是对iframe的contentWindow的document加事件,切记切记
{
frm.document.addEventListener("keydown",
function(e)
{
if(e.ctrlKey&&e.keyCode==13)
alert('ChildEvent');
}
,false);
}
}
</script>
<iframe src='about:blank' onload="SetEdit()" id='frm' name="frm"></iframe>
</body>
</html>
<head>
<title>当iframe的designMode="On"时,在ff,如何下对iframe添加事件处理函数</title>
</head>
<body>
<script>
//扩展string原型
String.prototype.trim=function()
{
return this.replace(/^\s*|\s*$/g,"");
}
//扩展string原型
String.prototype.removeHtml=function()
{
return this.replace(/<[^>]*>/gi,"");
}
alert("<aa><bb>aaa<>ddddd".removeHtml())
var IsIE=navigator.appName!="Netscape";
function SetEdit()
{
var frm=IsIE?frames["frm"]:document.getElementById('frm').contentWindow;
frm.document.designMode="On";
//绑定事件,注意要区别ie和ff的绑定,要不无法获取事件对象
if(IsIE)
{
frm.document.onkeydown=function()
{
e=frm.event;//注意要获取的是iframe中的event对象
if(e.ctrlKey&&e.keyCode==13)alert('ChildEvent');
}
}
else//而且为ff时,为了获取事件对象需要addEventListener来添加事件监听。
//而且是对iframe的contentWindow的document加事件,切记切记
{
frm.document.addEventListener("keydown",
function(e)
{
if(e.ctrlKey&&e.keyCode==13)
alert('ChildEvent');
}
,false);
}
}
</script>
<iframe src='about:blank' onload="SetEdit()" id='frm' name="frm"></iframe>
</body>
</html>
类别:JavaScript/Ajax 作者:波波 日期:2009-06-16 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·AJAX跨域问题解决办..
- ·ajax问题总结
- ·jQuery dataType指定..
- ·ajax+asp.net+mssql..
- ·ajax无刷新上传文件..
- ·ajax对象abort方法
- ·JavaScript代码,变..
- ·fckeditor编辑器在F..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(92)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(24)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·javascript实现html..
- ·Javascript风格要素..
- ·Javascript风格要素
- ·动态加载JavaScript
- ·JavaScript陷阱
- ·ajax技巧
- ·IE对CSS样式表的限制..
- ·什么是Javascript匿..
随机博文
