js解决跨浏览器添加删除事件的问题
2017-07-25 00:00
337 查看
DOM中的事件对象
type属性 用于获取事件的类型
target属性 用于获取事件目标
bubbles属性
canselable属性
stopPropagation()方法 用于阻止事件冒泡
priventDefault()方法 阻止事件额默认行为
IE中的事件对象
trpe属性 用于获取事件类型
src Element 用于获取事件目标
cancelBubble 用于阻止事件冒泡 设置为true表示阻止冒泡 设置为falde表示不阻止冒泡
returnValue属性 用于阻止事件的默认行为 设置为false表示阻止时间的默认行为
var eventUtil = {
//添加句柄
addHandler:function(element,type,handler){
if (element.addEventListener) {
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent('on'+type,handler);
}else{
//element.onclick === element['onclick'];
element['on'+type]=handler;
}
},
// 删除句柄
removeHandler:function(element,type,handler){
if (element.removeEventListener) {
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type]=handler;
}
},
//获取事件
getEvent:function (event) {
return event?event:window.event;
},
//获取事件类型
getType:function (event) {
return event.type;
},
//获取事件来自于哪个元素
getElement:function (event) {
return event.target || ev
3ff0
ent.srcElement;
},
//组织事件的默认行为
preventDefault:function (event) {
if (event.preventDefault) {
event.preventDefault();
}else{
event.returnValue = false;
}
},
//阻止事件冒泡
stopPropagation:function (event) {
if (event.stopPropagation) {
event.stopPropagation();
}else{
event.cancelBubble = true;
}
},
}
type属性 用于获取事件的类型
target属性 用于获取事件目标
bubbles属性
canselable属性
stopPropagation()方法 用于阻止事件冒泡
priventDefault()方法 阻止事件额默认行为
IE中的事件对象
trpe属性 用于获取事件类型
src Element 用于获取事件目标
cancelBubble 用于阻止事件冒泡 设置为true表示阻止冒泡 设置为falde表示不阻止冒泡
returnValue属性 用于阻止事件的默认行为 设置为false表示阻止时间的默认行为
var eventUtil = {
//添加句柄
addHandler:function(element,type,handler){
if (element.addEventListener) {
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent('on'+type,handler);
}else{
//element.onclick === element['onclick'];
element['on'+type]=handler;
}
},
// 删除句柄
removeHandler:function(element,type,handler){
if (element.removeEventListener) {
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type]=handler;
}
},
//获取事件
getEvent:function (event) {
return event?event:window.event;
},
//获取事件类型
getType:function (event) {
return event.type;
},
//获取事件来自于哪个元素
getElement:function (event) {
return event.target || ev
3ff0
ent.srcElement;
},
//组织事件的默认行为
preventDefault:function (event) {
if (event.preventDefault) {
event.preventDefault();
}else{
event.returnValue = false;
}
},
//阻止事件冒泡
stopPropagation:function (event) {
if (event.stopPropagation) {
event.stopPropagation();
}else{
event.cancelBubble = true;
}
},
}
相关文章推荐
- 原生js解决对象事件处理程序添加和删除的兼容性问题
- js事件跨浏览器解决问题的学习与总结
- js设置,删除,添加cookie,同时解决在目录下,不能设置、删除和添加的问题
- 利用事件委托解决js元素添加后未响应绑定事件问题
- JS事件封装函数,跨浏览器添加事件和删除事件
- js设置,删除,添加cookie,同时解决在目录下,不能设置、删除和添加的问题
- js 添加 和删除节点的方法(只在IE上可以,求助,能解决兼容性问题)
- 使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题
- 使用JS+WebBrowser解决Web打印问题(完成事件)
- datagrid因排序造成的添加删除问题解决方案
- 解决添加删除提示找不到zClientm.exe文件的问题
- 添加删除虚函数带来的问题及解决办法
- 动态添加事件及区分IE和其他浏览器的JS脚本
- HOWTO:如何解决安装包在系统“添加/删除”中无法修复或卸载的问题
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- 如何解决事件引发 先于 事件订阅的问题, 重定义 事件的 +=和-= (添加、移除委托)
- JS整理,getCookie, getElementsByClassName , 添加删除事件
- 添加删除WINDOW组件不能使用的问题解决
- 解决添加/删除组件中找不到IIS选项或不能安装的问题
- 利用DhtmlXtree实现展现,修改,添加,删除,移动功能一棵树上实现,iframe的单个滑动条显示,包含在iframe中树节点中文内容过长问题解决