在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ 怎么在頁面運行時禁止onload事件,使某個事件失效。

怎么在頁面運行時禁止onload事件,使某個事件失效。

**我有一個對象,它在頁面運行的前一階段是不可點擊的,等到下一階段時點擊有其他事情發(fā)生。

我對這個對象寫了兩個onclick的方法,在頁面onload時運行。第二個會method2方法覆蓋掉第一個method1方法,這也是預期發(fā)生的事情。

現(xiàn)在我需要運行第一個method1.按道理我移除掉第二個方法就可以運行了,問題是:我用什么樣的方法去移除method2這個方法。**

window.onload=function(){
     method1();
     method2();
}
function method1(){
var object=document.getElementById(object); //與method2中的對象相同
   object.onclick=function(){
     console.log('OK');
  }
}
function method2(){
var object=document.getElementById(object);
   object.onclick=function(){
     alert("disable");
  }
}
回答
編輯回答
笨小蛋
object.onclick=function(){
  // do something

  object.onclick = null
}
2017年12月25日 20:44
編輯回答
刮刮樂
你這種注冊事件方法,會覆蓋注冊,這樣object就只能持有一個handler
你可以看看addEventLinstener的方式添加事件,這樣的方式可以為同一個事件添加多個事件處理函數(shù);

另,基于你現(xiàn)在的做法,你可以按如下做
因為你覆蓋了方法1,就算你移除方法method2,方法1中注冊的click事件也不會再執(zhí)行了
既然你有倆個方法,
你要執(zhí)行1,你就在執(zhí)行之前先調用一下method1去覆蓋方法;
你要執(zhí)行2,你就在執(zhí)行之前調用一下method2去覆蓋原有的方法,不需要移除。
2018年4月28日 20:44