IE和FireFox(FF)中js和css的不同
2023-06-13 09:14:09 时间
在IE和FireFox(FF)中js和css的不同
css:
1.
ul标签中FF中有个padding值,却没有margin值,而在IE中正好相反
解决办法:将ul的padding和margin都设为0(也可以不是0)如:padding:0;margin:0;list-style:none;
js:
1.
IE中innerText在FF中没有,使用textContent;
eg:
复制代码代码如下:
css:
1.
ul标签中FF中有个padding值,却没有margin值,而在IE中正好相反
解决办法:将ul的padding和margin都设为0(也可以不是0)如:padding:0;margin:0;list-style:none;
js:
1.
IE中innerText在FF中没有,使用textContent;
eg:
varobj=document.getElementById("_td");
vartext;
if(obj.innerText){
text=obj.innerText;
}elseif(obj.textContent){
text=obj.textContent;
}
2.
在Ajax中返回对象状态IE可以使用readystate但是在FF中必须为readyState,所以最好是都写成readyState
3.获取IE和FF中的键盘返回值,
<inputtype="text"onkeyUp="test(event)"/>
functiontest(e){
varkeyc=GetKeyCode(e);
alert(keyc);
}
functionGetKeyCode(e){//取得不同浏览器下的键盘事件值
varkeyc;
if(window.event){//ie键盘事件
keyc=e.keyCode;
}elseif(e.which){//火狐
keyc=e.which;
}
returnkeyc;
}
4.为对象添加移除事件
varobj=document.getElementById("_tname");
添加事件:
if(obj.attachEvent){
obj.attachEvent("onchange",function(){
otherfunction(params);//这里可以给其实方法传参,也可以直接调用其它方法
});
}elseif(obj.addEventListener){
obj.addEventListener("change",function(){
otherfunction(params);
},false);
}
移除事件:
obj.onclick=null;
/*下面的代码为什么不行,IE下输出obj.onclick竟然为anonymous,希望高手能帮忙解决
if(obj.detachEvent){
obj.detachEvent("onchange",test);
}elseif(obj.removeEventListener){
obj.removeEventListener("change",test,false);
}*/
5.
IE中event.x和event.y
在FF中只有event.pageX,event.pageY
都有event.clientX和event.clientY属性
解决办法:
varx=e.x?e.x:e.pageX;//e为event对象传进来的参数
6.IE下input.type属性为只读,但是MF下可以修改
7.在IE中,getElementsByName()、(document.all[name](还未测试成功))均不能用来取得div元素(是否还有其它不能取的元素还不知道)。
8.通过js来触发事件
<scripttype="text/javascript"><!--
functionhanderToClick(){
varobj=document.getElementById("btn1");
if(document.all){//IE中
obj.fireEvent("onclick");
}else{
vare=document.createEvent("MouseEvent");
e.initEvent("click",false,false);
obj.dispatchEvent(e);
}
}
//--></script>
<inputtype="button"value="btn1"id="btn1"onclick="alert("按钮btn1的click事件")"/>
<inputtype="button"value="触发ID为btn1的onclick事件"onclick="handerToClick()"/>
9.IE下event对象有srcElement属性,Firefox下,event对象有target属性
varobj=e.srcElement?e.srcElement:e.target;//e为event对象传进来的参数
//从这里下面的还未测试
10.在FF中自己定义的属性必须getAttribute()取得
11.节点问题
IE中使用parentElementparement.children,而FF中使用parentNodeparentNode.childNodes
childNodes的下标的含义在IE和FF中不同,FF使用DOM规范,childNodes中会插入空白文本节点。
FF中节点没有removeNode方法,必须使用如下方法node.parentNode.removeChild(node)
相关文章
- js 手动触发input事件
- yuicompressor java_使用YUICompressor自动压缩JavaWeb项目中的JS与CSS文件
- css 更改所有text,CSS之cssText「建议收藏」
- JS刷新当前页面的方法总结
- 第2章 WEB02-CSS&JS篇-视频教程-第二部分
- 面试官问我 JS 中 foreach 能不能跳出循环
- 一个请求的组成、静态页面和动态页面、HTML, CSS和JS、浏览器渲染的过程
- JS查找数组中是否包含某个元素或对象「建议收藏」
- JS数字千位符格式化方法
- JS+CSS自定义右键菜单美化
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑(html2md.js 或 html2markdown.js)
- 一个短小的JS函数,用来得到仅仅包含不重复元素的数组详解编程语言
- 使用JS在网页中连接Oracle数据库(js网页链接oracle)
- 使用JS控制Oracle数据库的更新(js控制oracle更新)
- 用js+cookie记录滚动条位置
- js设置css的定位
- js+css使文本框自动适应内容的高度
- 远离JS灾难css灾难之js私有函数和css选择器作为容器
- 关于JS中的闭包浅谈
- js阻止子元素响应父元素的onmouseout事件具体实现
- js+css实现的简单易用兼容好的分页
- jquery动态加载js/css文件方法(自写小函数)
- php实现压缩多个CSS与JS文件的方法
- [将免费进行到底]在Amazon的一年免费服务器上安装Node.JS,NPM和OurJS博客
- asp.net后台如何动态添加JS文件和css文件的引用