JavaScript添加、删除事件的方法
JavaScript添加、删除事件的方法,也就是让某些方法生效指定次数,可以是一次、两次或更多次,但指定次数执行完毕后就删除该方法,使其失效,如果你经常从事JS编程,你就会知道这种功能用得比较多。
答案:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript添加、删除事件的方法</title>
<script type="text/javascript">
var EventUtil=new Object;
EventUtil.addEvent=function(oTarget,sEventType,funName){
if(oTarget.addEventListener){//for DOM;
oTarget.addEventListener(sEventType,funName, false);
}else if(oTarget.attachEvent){
oTarget.attachEvent("on"+sEventType,funName);
}else{
oTarget["on"+sEventType]=funName;
}
};
EventUtil.removeEvent=function(oTarget,sEventType,funName){
if(oTarget.removeEventListener){//for DOM;
oTarget.removeEventListener(sEventType,funName, false);
}else if(oTarget.detachEvent){
oTarget.detachEvent("on"+sEventType,funName);
}else{
oTarget["on"+sEventType]=null;
}
};
function removeClick(){
alert("click");
var oDiv=document.getElementById("odiv");
oDiv.style.cursor="auto";
EventUtil.removeEvent(oDiv,"click",removeClick);
}
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload !="function"){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
addLoadEvent(addClick);
function addClick(){
var oDiv=document.getElementById("odiv");
oDiv.style.cursor="pointer";
EventUtil.addEvent(oDiv,"click",removeClick);
}
</script>
</head>
<body>
<p>第一次点的时候弹出警告,并移除click事件,再点点击就失效了</p>
<div id="odiv" style="background:#003399; height:70px; width:126px; margin:0 auto; color:skyblue; ">第一次警告,第二次没反应!</div>
</body>
</html>
上一个:可以定制城市的JavaScript天气预报
下一个:JavaScript绘制曲线、圆形饼图实例