【问题标题】:Bootstrap show.bs.modal not firingBootstrap show.bs.modal 未触发
【发布时间】:2017-11-12 00:45:56
【问题描述】:

我正在尝试将元素的 id 传递给模式对话框。但是,该事件不会被触发。我看过bootstrap jquery show.bs.modal event won't fire,但没有帮助。这就是我所做的。

我建立了一组链接如下。

// invitations is an array of id's retrieved from the back-end
for (var i = 0; i < invitations.length; i++) {
   var labelTxt = '<label><a href="#" data-toggle="modal" id=' + invitations[i] + ' data-target="#modalInvitation">' +  invitations[i] + '</a></label>';
   $('<div>').text($(labelTxt).appendTo('#myDiv'));
}

我的模态对话框如下

<div id="modalInvitation" class="modal fade" role="dialog">
   <div class="modal-dialog">
      <div class="modal-content">
         <div class="modal-header">
            <h4 class="modal-title">Invite</h4>
         </div>
         <div class="modal-body">
            <button id="inviteBtn" type="button" class="btn btn-primary" data-dismiss="modal">Invite</button>
         </div>
         <div class="modal-footer">
            <button type="button" class="btn" data-dismiss="modal">Cancel</button>
         </div>
      </div>
   </div>
</div>

最后我调用event,show.bs.modal如下。

<script type="text/javascript">
$(function() {
    $(document).on('show.bs.modal',
        '#modalInvitation',
        function() {
            var inviteId = e.relatedTarget.id;
            alert(inviteId);
        });
});

但是,事件 show.bs.modal 没有触发。也提到了这个Send parameter to Bootstrap modal window?

【问题讨论】:

  • 你在 JS 控制台中遇到错误吗?回调包含对e.relatedTarget 的引用,但未在function() 中声明参数e

标签: jquery twitter-bootstrap modal-dialog


【解决方案1】:

好吧,代码没有问题。在将代码剥离到最低限度时,我注意到我运行了 2 个版本的 jQuery,就像这样

<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

删除后者可以解决问题。如果我只运行后者,问题仍然存在。不知道为什么。

【讨论】:

    猜你喜欢
    • 2013-10-17
    • 1970-01-01
    • 2018-11-18
    • 2023-03-08
    • 1970-01-01
    • 2020-05-19
    • 2019-04-08
    • 1970-01-01
    • 2014-04-25
    相关资源
    最近更新 更多