彈出次數(shù)問題
<script> ??$(function(){ ????$(".btn").click(function(){ ??????$("#mymodal").modal("toggle"); ??????$('#mymodal').on('hide.bs.modal',function(){ ????????alert('我要隱藏啦'); ??????}) ????}); ??}); //???$('#mymodal').on('hide.bs.modal',function(){ //?????alert('我要隱藏啦'); //???}) </script>
為何代碼段放置在【click()事件里面時(shí),每增加一次點(diǎn)擊,彈出就會(huì)增加兩次】,而【代碼段單獨(dú)放置時(shí)則只會(huì)彈出一次警告框】,警告框彈出次數(shù)不隨點(diǎn)擊次數(shù)的增加而增加?
2016-04-25
你可以把hide.bs.modal看做是一個(gè)和click 一樣的動(dòng)作。
hide.bs.modal這個(gè)動(dòng)作的意思是:在hide方法調(diào)用時(shí)(但還未關(guān)閉隱藏)立即觸發(fā),就是當(dāng)你關(guān)閉彈出框的時(shí)候就立刻觸發(fā)這個(gè)動(dòng)作,而這個(gè)動(dòng)作綁定的是一個(gè)function{? ?alert('我要隱藏啦');? } 事件。
現(xiàn)在回答你的問題,
你把代碼寫在里面,每點(diǎn)擊一次按鈕,都會(huì)重復(fù)綁定一次事件$('#mymodal').on('hide.bs.modal',function ) , 這個(gè)事件綁定不是覆蓋的,而是累加的,相當(dāng)于你綁定了很多次同樣的事件,每一個(gè)循環(huán)你點(diǎn)擊了兩次按鈕("點(diǎn)擊我","關(guān)閉"),所以增加兩次。