TWT
2016-04-24 11:42
<script> $(function(){ $(".btn").click(function(){ $("#mymodal").modal("toggle"); $('#mymodal').on('hide.bs.modal',function(){ alert('我要隐藏啦'); }) }); }); // $('#mymodal').on('hide.bs.modal',function(){ // alert('我要隐藏啦'); // }) </script>
为何代码段放置在【click()事件里面时,每增加一次点击,弹出就会增加两次】,而【代码段单独放置时则只会弹出一次警告框】,警告框弹出次数不随点击次数的增加而增加?
你可以把hide.bs.modal看做是一个和click 一样的动作。
hide.bs.modal这个动作的意思是:在hide方法调用时(但还未关闭隐藏)立即触发,就是当你关闭弹出框的时候就立刻触发这个动作,而这个动作绑定的是一个function{ alert('我要隐藏啦'); } 事件。
现在回答你的问题,
你把代码写在里面,每点击一次按钮,都会重复绑定一次事件$('#mymodal').on('hide.bs.modal',function ) , 这个事件绑定不是覆盖的,而是累加的,相当于你绑定了很多次同样的事件,每一个循环你点击了两次按钮("点击我","关闭"),所以增加两次。
玩转Bootstrap(JS插件篇)
128657 学习 · 296 问题
相似问题