js跨浏览器添加移除事件
2017-11-26 09:12
239 查看
<!DOCTYPE html>
<html>
<head>
<title>测试</title>
</head>
<body>
<button id="btn3">测试</button>
</body>
<script type="text/javascript">
var eventUtil={
//添加句柄
addHandler:function (element,type,handler)
{
// body...
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)
{
// body...
if(element.removeEventListener)
{
element.removeEventListener(type,handler,false);
}
else if(element.detachEvent)
{
element.detachEvent('on'+type,handler);
}
else
{
element['on'+type] = null;
}
},
getEvent:function(event)
{
return event?event:window.event;
},
//获取事件类型
getType:function(event)
{
return event.type;
}
//获取事件目标元素
getElement:function(event)
{
return event.target || event.srcElement;
}
//取消html元素默认行为
preventDefault:function(event)
{
if(event.preventDefault)
{
event.preventDefault();
}
else
{
event.returnValue=null;
}
},
//组织html元素事件冒泡
stopPropagation:function(event)
{
if(event.stopPropagation)
{
event.stopPropagation();
}
else//windows
{
event.cancelBubble=true;
}
}
}
function ShowMsg()
{
alert("Hello World!");
}
var btn3 = document.getElementById("btn3");
eventUtil.addHandler(btn3,'click',ShowMsg);
eventUtil.removeHandler(btn3,'click',ShowMsg);
</script>
</html>
<html>
<head>
<title>测试</title>
</head>
<body>
<button id="btn3">测试</button>
</body>
<script type="text/javascript">
var eventUtil={
//添加句柄
addHandler:function (element,type,handler)
{
// body...
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)
{
// body...
if(element.removeEventListener)
{
element.removeEventListener(type,handler,false);
}
else if(element.detachEvent)
{
element.detachEvent('on'+type,handler);
}
else
{
element['on'+type] = null;
}
},
getEvent:function(event)
{
return event?event:window.event;
},
//获取事件类型
getType:function(event)
{
return event.type;
}
//获取事件目标元素
getElement:function(event)
{
return event.target || event.srcElement;
}
//取消html元素默认行为
preventDefault:function(event)
{
if(event.preventDefault)
{
event.preventDefault();
}
else
{
event.returnValue=null;
}
},
//组织html元素事件冒泡
stopPropagation:function(event)
{
if(event.stopPropagation)
{
event.stopPropagation();
}
else//windows
{
event.cancelBubble=true;
}
}
}
function ShowMsg()
{
alert("Hello World!");
}
var btn3 = document.getElementById("btn3");
eventUtil.addHandler(btn3,'click',ShowMsg);
eventUtil.removeHandler(btn3,'click',ShowMsg);
</script>
</html>
相关文章推荐
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME) 转载
- JavaScript 跨浏览器添加移除事件
- js 动态给元素添加、移除事件的实现方法
- js添加事件和移除事件:addEventListener()与removeEventListener()
- js下拉列表添加监听事件(支持所有主流浏览器)
- js 动态给元素添加、移除事件
- 动态添加事件及区分IE和其他浏览器的JS脚本
- 用JS给浏览器的关闭按钮添加事件
- js解决跨浏览器添加删除事件的问题
- 纯JavaScript实现的兼容各浏览器的添加和移除事件封装
- JS添加/绑定事件监听函数并传参数attachEvent和addEventListener兼容个浏览器
- JS事件封装函数,跨浏览器添加事件和删除事件
- js 添加和移除onclick事件(通过匿名函数实现)及jquery 移除事件
- JS动态添加移除事件 和 获取Event (兼容IE和Firefox)
- 跨浏览器添加事件+跨浏览器移除事件+获取浏览器目标对象+跨浏览器输入文本的光标自动跳转+跨浏览器输入验证+跨浏览器屏蔽