兼容firefo和ie的javascript的一些写法.docxVIP

  • 0
  • 0
  • 约1.52千字
  • 约 3页
  • 2022-06-21 发布于上海
  • 举报
有很多人遇到这样的问题,干脆把我的收藏共享出来算了: 推荐 flapjax 用用。。。。相关链接 [url]/blog/140924/22646[/url] 以下是转载的正文: 兼容 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 ==MouseEve nt) || (typeof(arg0)==object arg0.preventDefault arg0.stopPropagation)) {return arg0;} } func=func.caller; } return null; } 在 firefox 和 ie 中 event 对象还是有些差别的,比如 ie 中 event.srcElement,在 firefox 中 就 是 event.target, 具 体 可 参 考 : [url]/domref/domevent.shtml[/url] 二,访问 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; }

文档评论(0)

1亿VIP精品文档

相关文档