貌似恒心不够,只写了三篇就断了好长时间,哎~~~自责。
今天在写一个广告系统的前端。
一个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");}
};
}
本文探讨了在使用jQuery将带有swapadv事件的HTML元素从IFRAME克隆到父窗口时遇到的问题。该事件在IE、Firefox和Opera中正常工作,但在Chrome中失效。通过在IFRAME内部根据浏览器类型重写事件解决了这一问题。
1167

被折叠的 条评论
为什么被折叠?



