亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

慕慕森 2019-03-12 13:15:09
**我有一個對象,它在頁面運行的前一階段是不可點擊的,等到下一階段時點擊有其他事情發生。我對這個對象寫了兩個onclick的方法,在頁面onload時運行。第二個會method2方法覆蓋掉第一個method1方法,這也是預期發生的事情?,F在我需要運行第一個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");  }}
查看完整描述

2 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

你這種注冊事件方法,會覆蓋注冊,這樣object就只能持有一個handler

你可以看看addEventLinstener的方式添加事件,這樣的方式可以為同一個事件添加多個事件處理函數;


另,基于你現在的做法,你可以按如下做

因為你覆蓋了方法1,就算你移除方法method2,方法1中注冊的click事件也不會再執行了

既然你有倆個方法,

你要執行1,你就在執行之前先調用一下method1去覆蓋方法;

你要執行2,你就在執行之前調用一下method2去覆蓋原有的方法,不需要移除。


查看完整回答
反對 回復 2019-04-05
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

object.onclick=function(){

  // do something


  object.onclick = null

}


查看完整回答
反對 回復 2019-04-05
  • 2 回答
  • 0 關注
  • 717 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號