关于IFRAME下的事件运行(兼容谷歌浏览器)

本文探讨了在使用jQuery将带有swapadv事件的HTML元素从IFRAME克隆到父窗口时遇到的问题。该事件在IE、Firefox和Opera中正常工作,但在Chrome中失效。通过在IFRAME内部根据浏览器类型重写事件解决了这一问题。

貌似恒心不够,只写了三篇就断了好长时间,哎~~~自责。

 

 

今天在写一个广告系统的前端。

一个IFRAME下事件运行,另我抓狂。

 

且看iframe下HTML是这样写的:

 

<IMG id='ad_left2' bigpic="/d1/shfix_big.gif" smallpic="/d1/shfix_small.gif" onmouseover='swapadv(this, true)' onmouseout='swapadv(this)' src="/d1/shfix_small.gif" border=0>

 

用JQUERY克隆到parent窗口($(targetID, parentB).append($(x[rnd]).clone());)。swapadv事件写在父窗口。

结果事件:swapadv在IE,FF,和OPERA下正常,唯独CHROME(SAFARI没测,内核一样)不行。提示找不到,

Uncaught ReferenceError: swapadv is not defined

 

原来是HTML克隆过去了,事件却还要跑到IFRAME下去找,只好,在IFRAME页面里,根据浏览器重写该事件:才得以解决

if($.browser.safari){//chrome & safari
  var swapadv= function(e, b){
   if(!e){ var e= event.srcElement;}
   if(b){ e.src= e.getAttribute("bigpic");} else{e.src= e.getAttribute("smallpic");}
  };
 }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值