javascript - 重复模态显示事件

标签 javascript jquery twitter-bootstrap twitter-bootstrap-3

看起来 Bootstrap 在调用 .modal('show') 函数时生成了多个重复事件。我预计将调用单个 'shown.bs.modal' 事件,但实际上,我从单个事件处理程序中获取了 3-7 个事件日志。

.modal div 中删除 .fade 类可以解决此问题,并且该事件仅触发一次。

HTML:

<div class="modal fade" id="cmsDialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body">
        <p>One fine body&hellip;</p>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

JavaScript:

$(document).ready(function() {
    $('#cmsDialog').on('shown.bs.modal', function(e) {
        console.log('modal shown!');
    });
    $('.cmsZoneToolbar').find('.cmsZoneEdit').click(function(e){
        openeditscreen();
        return false;
    });

});
openeditscreen = function() {
    $('#cmsDialog').find('.modal-body').html('MODAL CONTENT');
    $('#cmsDialog').modal('show');
}

JS Fiddle(请注意,我只能使用 jQuery 1.7.1 复制此内容): http://jsfiddle.net/mborn/z0zstu0o/3/

编辑:更新我的 jQuery 版本是理想的解决方案吗?似乎没有其他记录此错误的案例 - 这是 jQuery 错误还是 Bootstrap 错误?或者这根本就是一个错误,我做错了什么吗? (我还不是 Bootstrap 大师。)

最佳答案

自 Bootstrap v3.0.0 起,根据其 bower.json ,最低 jQuery 版本为 1.9.0

  "dependencies": {
    "jquery": ">= 1.9.0"
  }

您可以从其文档的包含内容部分获取此信息:

http://getbootstrap.com/getting-started/#whats-included

关于javascript - 重复模态显示事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672563/

相关文章:

javascript - 如何在特定的 div 中显示时间(由 JavaScript 生成)?

javascript - 在 JavaScript 中使用 Observable 模式

javascript - 如何停止嵌入式YouTube视频

javascript - 显示子内容时,CSS 转换不适用于父级

javascript - NextJS 是否包含仅在包中的 getServerSideProps 中引用的库?

jquery - 如何在WCF中设置cookie并在调用Ajax的成功函数(或其他地方)中读取它

javascript - 如何通过多个图像循环 div 的背景 url?

html - 居中对齐三个div

css - Electron react 粘性表格标题

javascript - Bootstrap 按钮在单击时不会突出显示