javascript 绑定事件 阻止冒泡和默认事件
来源:互联网 发布:退火算法用途 编辑:程序博客网 时间:2024/06/17 17:25
在使用javascript时,有时我们需要为其绑定时间,IE和非IE还有一点点区别,以及阻止冒泡和默认时间此文章算是自己的笔记吧
--第一种,不带参数
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['on'+type] = handler;
}
},
removeHandler : function (element, type, handler){
if(element.removeEventListener){
element.removeEventListener(type, handler, false);//做移除操作时,这个handler不能直接写function(){},因为会认为和添加的时候不是同一个函数,这个函数必须要单独定义出来才行
}else if (element.attachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type] = null;
}
},
stopPropagation = function(event){ // 取消冒泡
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancleBubble=true;
}
},
preventDefault = function(event){ // 阻止默认事件
if(event.preventDefault){
event.preventDefault();
} else{
event.returnValue = false;
}
}
}
// 调用如下
//添加
eventUtil.addHandler(liNode,'click',hello);
// 删除
eventUtil.removeHandler(liNode,'click',hello);
function hello(){
alert('hello');
}
--第二种,带参数
var eventUtil = {
// 添加句柄
addHandler : function (element, type, handler, param){
var handlerNew = handler;
if(param){
handlerNew = function(e){
handler.call(this,param);
}
}
if(element.addEventListener){
element.addEventListener(type, handler, false);
}else if (element.attachEvent){
element.attachEvent('on'+type,handler);
}else{
element['on'+type] = handler;
}
},
removeHandler : function (element, type, handler,param){
var handlerNew = handler;
if(param){
handlerNew = function(e){
handler.call(this,param);
}
}
if(element.removeEventListener){
element.removeEventListener(type, handler, false);//做移除操作时,这个handler不能直接写function(){},因为会认为和添加的时候不是同一个函数,这个函数必须要单独定义出来才行
}else if (element.attachEvent){
element.detachEvent('on'+type,handler);
}else{
element['on'+type] = null;
}
},
stopPropagation = function(event){ // 取消冒泡
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancleBubble=true;
}
},
preventDefault = function(event){ // 阻止默认事件
if(event.preventDefault){
event.preventDefault();
} else{
event.returnValue = false;
}
}
}
var par = new Object();
par.name='zhangsan';
par.age = 18;
eventUtil.addHandler(liNode,'click',say,par);
function say(param){
alert(param.name+"=="+age); // zhangsan==18
}
- javascript 绑定事件 阻止冒泡和默认事件
- JavaScript阻止事件冒泡和默认事件
- 绑定事件、阻止默认事件、阻止冒泡
- javascript的阻止默认事件和阻止冒泡事件
- JavaScript事件冒泡、事件捕获和阻止默认事件
- JavaScript 事件流(事件要素/普通事件/事件绑定/事件冒泡/阻止冒泡/阻止默认行为)
- javascript中冒泡事件和阻止默认事件
- JavaScript停止冒泡事件和阻止默认事件
- javascript-阻止事件冒泡和事件默认行为
- 阻止冒泡和默认事件
- javascript阻止冒泡和默认事件(默认行为)
- JavaScript中事件捕获和事件冒泡以及如何阻止冒泡事件和默认事件
- js 阻止默认事件 和事件冒泡
- 阻止事件冒泡、捕获、和默认事件
- 如何阻止事件冒泡和默认事件
- 如何阻止事件冒泡和默认事件
- 如何阻止冒泡事件和默认事件
- 阻止默认事件行为和事件冒泡
- Android api23中删除HttpClient的相关类的解决方法
- HTML 排版与标签(二)
- 您能看出这个生成缩略图的方法有什么问题吗?
- 自然数各位数字求和(第2届第1题)
- 关于浮点数计算时的精度问题
- javascript 绑定事件 阻止冒泡和默认事件
- POJ 题目3009 Curling 2.0(DFS)
- 重构代码
- 牛人的体会慢慢理会
- sphinx入门篇之安装与基本使用
- python局部变量和全局变量
- 总结C++中三种关于"new"的使用方法
- TListbox中的item根据内容显示不同颜色的方法
- Java异常分类