最近因為業務需求,需要重寫window的alert和confirm彈窗,但是每次顯示的提示按鈕不相同,所有每次打開的彈窗都需要重寫生成,但是對於相同的按鈕會保留上次創建時的click事件,所以當你創建了多少次彈窗,你下次單擊該按鈕就會執行多少次,面對這個問題有兩個解決方法:
1,每次關閉彈窗時都將其銷毀,destory() 方法,將創建的dom從document中remove()掉;
2,將一些公共的btn設置為公用的dom,不需要每次都進行創建,這樣在下一次為其btn綁定click事件時,unbind('click')上一次的click事件,就不會被執行多次了。
建議不要通過 $(ele).on('click',function(){})這種方式綁定事件。 這種方式會將原來的方法添加到新方法中,就會出現執行多次;
處理方式是 $(ele).unbind('click').click(function(){});
