关于ie浏览器和w3c浏览器在事件方面的兼容性问题
来源:互联网 发布:淘宝店铺怎么免费推广 编辑:程序博客网 时间:2024/05/29 06:56
1、事件绑定的四种方式
在标签中通过属性的方式绑定例:<button onclick="fn()">在脚本中通国dom对象的属性绑定例:document.getElementsById("box").onclick=fn;
通过dom对象特定的方法进行绑定例:document.getElementsById("box").attachEvent("onclick",fn);
通国script标签绑定:<script for="domID" event="onclick">fn()</script>
function addEvent(obj,type,fn){ //ie相同的事件ie会重复添加 if(obj.attachEvent) obj.attachEvent("on"+type,fn); else if(obj.addEventListener) obj.addEventListener(type,fn);}function unEvent(obj,type,fn){ //只能移除通过事件监听的方式添加的事件参数必须相同 if(obj.detachEvent) obj.detachEvent("on"+type,fn); else if(obj.removeEventListener) obj.removeEventListener(type,fn);}
3、通过传统事件绑定的方式在IE中我们无法通过传参获取event对象,
function gEvent(ev){ //IE:window.event; W3C:通过传参获取 return ev||window.event}
function gThis(e){ //通过event获取触发事件的对象 return e.srcElement||e.target}
function gStyle(obj,type){ //IE获取的值是设置的值,非IE获取的是计算后的值 //颜色值W3C会转换为rgb,IE为设置的值 if(obj.currentStyle) return obj.currentStyle[type]; else if(window.getComputedStyle) return getComputedStyle(obj,null)[type]}
5、阻止冒泡
function stop(e){ if(e.stopPropagation) e.stopPropagation(); else e.cancelBubble=true;}
function pD(e){ if(e.preventDefault) e.preventDefault(); else e.returnValue=false;}
7、鼠标进入和离开相关目标
function gTarget(e){ if(e.srcElement){ if(e.type=="mouseover") return e.fromElement; else if(e.type=="mouseout") return e.toElement; }else if(e.relatedTarget) return e.relatedTarget;}
8、返回鼠标滚轮滚动的距离
function mouseS(e){ //火狐 :DOMMouseScroll //非火狐:mousewheel if(e.wheelDelta) return e.wheelDelta; //非火狐 else return -e.detail*40 //火狐}
阅读全文
1 0
- 关于ie浏览器和w3c浏览器在事件方面的兼容性问题
- IE和火狐等浏览器关于 的兼容性问题解决
- IE浏览器的兼容性问题
- IE浏览器的兼容性问题
- jquery 、easyui 和IE浏览器的兼容性问题
- IE和firefox浏览器在网页编程方面的区别
- IE与兼容W3C标准浏览器事件冒泡的顺序
- js技术要点---document.write("")方法在IE浏览器和火狐浏览器下面的兼容性问题
- 前端代码IE浏览器和火狐浏览器的兼容性问题
- 关于浏览器的兼容性问题
- Javascript在IE和Firefox浏览器常见兼容性问题总结
- IE和FF在JS方面的兼容性问题
- IE和Firefox在JavaScript方面的兼容性问题
- javascript中new Date()在IE浏览器下的兼容性问题
- javascript事件在IE和DOM浏览器的差异总结
- 页面在ie浏览器出现的多个兼容性问题和解决方案
- ie浏览器兼容性问题
- IE浏览器兼容性问题
- 【C#
- 项目报Description ResourcePathLocation Type Cannot change version of project facet Dynamic Web Module
- Python模块之ConfigParser
- 最近小程序频繁搞事情,看他们都更新了哪些牛逼的功能
- C#操作符??和?:
- 关于ie浏览器和w3c浏览器在事件方面的兼容性问题
- ReactNative 天气应用开发
- phpstorm在linux下的安装
- SAPCAR 压缩解压软件的使用方法
- 【NOI2015】bzoj4199 品酒大会【解法一】
- 飞机大战1
- HTML table元素
- Win7存储空间不足怎么办?Win7存储空间不足的两种解决方法
- 读道德经