兼容firefox和ie的javascript的一些写法
2007-04-27 18:09
836 查看
有很多人遇到这样的问题,干脆把我的收藏共享出来算了:
推荐flapjax用用。。。。相关链接
http://blackanger.blog.51cto.com/blog/140924/22646
以下是转载的正文:
下面是兼容firefox和ie时需要注意的一些写法
一,事件处理
在ie中处理事件直接使用window.event对象即可,但在firefox中,是没有window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie中,事件对象是全局的,随处都可以访问。下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为参数传递。
function myfunc()
{
var evt=getEvent();
var element=evt.srcElement || evt.target;
}
function getEvent()
{
if(document.all) return window.event;//如果是ie
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){return arg0;} }
func=func.caller;
}
return null;
}
在firefox和ie中event对象还是有些差别的,比如ie中event.srcElement,在firefox中就是event.target,具体可参考:
http://www.javascriptkit.com/domref/domevent.shtml
二,访问frame或iframe对象
在ie中可以通过frame的id或name来访问,但在firefox中只能用frame的name来访问.
三,自定义属性
在ie中自定义属性可以直接访问,但在firefox中需要使用getAttribute()
比如
<td id="name" tel="1234"></td>
ie中:alert(name.tel);
firefox中:alert(name.getAttribute("tel"));
四,innerText和textContent
ie中的innerText在firefox中对应的是textContent
例如
if(document.all){
document.getElementById('element').innerText = "my text";
} else{
document.getElementById('element').textContent = "my text";
}
其他参考
http://developer.mozilla.org/en/docs/Gecko_DOM_Reference
http://www.javascriptkit.com/javatutors/dom.shtml
http://www-128.ibm.com/developerworks/web/library/wa-ie2mozgd/
http://www.firefox.net.cn/newforum/viewtopic.php?t=17017
FireFox中的DOM参考手册:http://www.mozilla.org/docs/dom/domref/dom_shortTOC.html
IE中的DOM参考手册:http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp?frame=true
推荐flapjax用用。。。。相关链接
http://blackanger.blog.51cto.com/blog/140924/22646
以下是转载的正文:
兼容firefox和ie的javascript的一些写法
最近我想让我们的CMS能在firefox中使用,于是以前所写的javascript代码就都需要考虑兼容问题了,无端增加了好多工作量。下面是兼容firefox和ie时需要注意的一些写法
一,事件处理
在ie中处理事件直接使用window.event对象即可,但在firefox中,是没有window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie中,事件对象是全局的,随处都可以访问。下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为参数传递。
function myfunc()
{
var evt=getEvent();
var element=evt.srcElement || evt.target;
}
function getEvent()
{
if(document.all) return window.event;//如果是ie
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){return arg0;} }
func=func.caller;
}
return null;
}
在firefox和ie中event对象还是有些差别的,比如ie中event.srcElement,在firefox中就是event.target,具体可参考:
http://www.javascriptkit.com/domref/domevent.shtml
二,访问frame或iframe对象
在ie中可以通过frame的id或name来访问,但在firefox中只能用frame的name来访问.
三,自定义属性
在ie中自定义属性可以直接访问,但在firefox中需要使用getAttribute()
比如
<td id="name" tel="1234"></td>
ie中:alert(name.tel);
firefox中:alert(name.getAttribute("tel"));
四,innerText和textContent
ie中的innerText在firefox中对应的是textContent
例如
if(document.all){
document.getElementById('element').innerText = "my text";
} else{
document.getElementById('element').textContent = "my text";
}
其他参考
http://developer.mozilla.org/en/docs/Gecko_DOM_Reference
http://www.javascriptkit.com/javatutors/dom.shtml
http://www-128.ibm.com/developerworks/web/library/wa-ie2mozgd/
http://www.firefox.net.cn/newforum/viewtopic.php?t=17017
FireFox中的DOM参考手册:http://www.mozilla.org/docs/dom/domref/dom_shortTOC.html
IE中的DOM参考手册:http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp?frame=true
相关文章推荐
- javascript IE与FireFox 一些兼容写法 (小技巧七)
- Javascript下IE与Firefox下的差异兼容写法总结
- JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
- JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
- JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
- Javascript下IE与Firefox下的差异兼容写法总结
- IE和Firefox下javascript的兼容写法小结
- Javascript下IE与Firefox下的差异兼容写法总结
- Javascript下IE与Firefox下的差异兼容写法总结
- firefox(火狐)与IE Chrome浏览器兼容的javascript和CSS写法
- 一些javascript在ie和ff中的兼容写法
- Javascript下IE与Firefox下的差异兼容写法总结
- IE和Firefox下javascript的兼容写法小结
- Javascript下IE与Firefox下的差异兼容写法总结
- IE和Firefox下javascript的兼容写法小结
- IE与FireFox的JavaScript兼容问题
- 推荐兼容 IE、 FireFox 的 javascript 日历控件
- Javascript 兼容firefox的一些问题
- 纯JavaScript实现的幻灯片(兼容IE和Firefox)
- IE、Firefox兼容Enter代替Tab的Javascript