javascript 兼容各个浏览器的事件
作者:bea
调用事件: 事件对象 什么是事件对象?在触发dom上的事件是都会产生一个事件对象event。例如鼠标点击的时候,自己就会产生比如点击的类型啊 还要那个元素发出的 dom 事件对象 type 属性用于获取事件对象, target属性 用于获取事件目标,stopPropagation()方法 阻止事件冒泡 preventDefault阻止事件的默认行为 IE中的事件对象 type 属性 用于获取事件对象, srcElement属性 用于获取事件目标 cancelBubble属
调用事件:
事件对象 什么是事件对象?在触发dom上的事件是都会产生一个事件对象event。例如鼠标点击的时候,自己就会产生比如点击的类型啊 还要那个元素发出的 dom 事件对象 type 属性用于获取事件对象, target属性 用于获取事件目标,stopPropagation()方法 阻止事件冒泡 preventDefault阻止事件的默认行为 IE中的事件对象 type 属性 用于获取事件对象, srcElement属性 用于获取事件目标 cancelBubble属性 用于阻止事件冒泡 设置为true是表示阻止 false表示不阻止 returnValue 属性 用于阻止事件的默认行为 设置为false的时候表示阻止
代码如下:
// 兼容各个浏览器 跨浏览器事件处理------- 统一进行封装
var EventHandle = {
// element : 元素 , type: 点击事件 ,handle : 实行的方法
//添加句柄
addEventHandle: function (element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);//---false //代表冒泡 dom2级
}
else if (element.attachEvent) {
element.attachEvent("on"+type, handler);
} else {
element["on" + type] = handler;
}
},
//删除句柄 事件处理不起作用
removeEventHandle: function (element, type, handler) {
if (element.removeEventListener) { // 支持dom2级的事件处理 type是 onclick
element.removeEventListener(type, handler, false); //---false //代表冒泡
}
else if (element.detachEvent) {
element.detachEvent("on"+type, handler); //支持IE
} else {
element["on" + type] = null;// dom0级事件处理 传统的点击事件
}
},
//获取事件对象 兼容浏览器的所有对象
getEvent: function (event) {
return event ? event : window.event; //在IE浏览器的低版本中需要的是window.event
},
//获取事件类型 是点击呢还是鼠标移动
getType:function(event){
return event.type;
},
//获取当前的那个元素
getElement: function (event) {
return event.target || event.srcElement;
},
//阻止事件的默认行为
: function (event) {
if (event.preventDefault) {
event.preventDefault();
}
else {
event.returnValue = false;
}
},
//阻止事件冒泡
stopPropagation: function (event) {
if (event.stopPropagation) {
event.stopPropagation();
}
else {
event.cancelBubble = true;
}
}
}
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 编写自己的jQuery提示框(Tip)插件
- 使用pjax实现无刷新更改页面url
- BOOTSTRAP时间控件显示在模态框下面的bug修复
- jquery手风琴特效插件
- Jquery中find与each方法用法实例
- javascript中Array数组的迭代方法实例分析
- AngularJs根据访问的页面动态加载Controller的解决方案
- 15款jQuery分布引导插件分享
- jquery $(document).ready()和window.onload的区别浅析
- 使用jQueryMobile实现滑动翻页效果的方法
- jQueryMobile之Helloworld与页面切换的方法
- Javascript中实现trim()函数的两种方法
- jQuery手机浏览器中拖拽动作的艰难性分析
- JavaScript检测实例属性, 原型属性
- Jquery Ajax xmlhttp请求成功问题
- js对字符的验证方法汇总
- AngularJS内置指令
- javascript内置对象操作详解
- js判断文本框剩余可输入字数的方法