为了账号安全,请及时绑定邮箱和手机立即绑定

弹出次数问题

<script>
  $(function(){
    $(".btn").click(function(){
      $("#mymodal").modal("toggle");
      $('#mymodal').on('hide.bs.modal',function(){
        alert('我要隐藏啦');
      })
    });
  });
//   $('#mymodal').on('hide.bs.modal',function(){
//     alert('我要隐藏啦');
//   })
</script>

为何代码段放置在【click()事件里面时,每增加一次点击,弹出就会增加两次】,而【代码段单独放置时则只会弹出一次警告框】,警告框弹出次数不随点击次数的增加而增加?


正在回答

1 回答

你可以把hide.bs.modal看做是一个和click 一样的动作。

hide.bs.modal这个动作的意思是:在hide方法调用时(但还未关闭隐藏)立即触发,就是当你关闭弹出框的时候就立刻触发这个动作,而这个动作绑定的是一个function{   alert('我要隐藏啦');  } 事件。

现在回答你的问题,

你把代码写在里面,每点击一次按钮,都会重复绑定一次事件$('#mymodal').on('hide.bs.modal',function ) , 这个事件绑定不是覆盖的,而是累加的,相当于你绑定了很多次同样的事件,每一个循环你点击了两次按钮("点击我","关闭"),所以增加两次。

0 回复 有任何疑惑可以回复我~
#1

TWT 提问者

答案详尽易懂,非常感谢!
2016-04-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
玩转Bootstrap(JS插件篇)
  • 参与学习       128655    人
  • 解答问题       296    个

带领大家学习怎么使用JS自由控制Bootstrap中提供的组件

进入课程

弹出次数问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信