显示或淡入淡出模态引导后的JQuery事件

时间:2017-03-24 13:07:14

标签: javascript jquery html twitter-bootstrap

我试图在JQuery中的模态显示事件之后运行ajax函数。但是,在模式打开后,我无法让JQuery检测到show事件。网上有一些例子,但出于某种原因,他们不在我的环境中工作 - 他们也没有抛出错误。它只是没有做任何事情。

HTML代码:

<div id="md-load-test-modal" tabindex="-1" role="dialog" class="modal fade colored-header colored-header-primary">
                  <div class="modal-dialog">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" data-dismiss="modal" aria-hidden="true" class="close"><span class="mdi mdi-close"></span></button>
                        <h3 class="modal-title">{{modal-heading}}</h3>
                      </div>
                      <div class="modal-body">
                        <p>{{modal-content}}</p>
                      </div>
                      <div class="modal-footer">
                        <button type="button" data-dismiss="modal" class="btn btn-default">Close</button>
                      </div>
                    </div>
                  </div>
                </div>

通过以下方式调用模态:

<a href="#" class="btn-default" data-toggle="modal" data-target="#md-load-test-modal">Show Modal</a>

我尝试过的JQuery选项

$(document).on('show','#md-load-test-modal',function(){
          console.log('Modal opened');
      });

$('#md-load-test-modal').on('show',function(){
          console.log('Modal opened');
      });

$('#md-load-test-modal').bind('show',function(){
          console.log('Modal opened');
      });

$('#md-load-test-modal').on('show',function(){
          console.log('Modal opened');
      });

我在网上看到的参考文献: jQuery change event issue after show()

jQuery event to trigger action when a div is made visible

https://jsfiddle.net/ednon5d1/

最终让我思考的是:

Twitter Bootstrap .on('show',function(){}); not working for popover

1 个答案:

答案 0 :(得分:0)

当我输入问题时,我想根据另一个SO答案中的评论来尝试别的东西(链接:)

它没有认出模态公开事件的原因是因为我正在使用(&#39; show&#39;,......)它应该在(&#39; show.bs.modal& #39;,......

我不知道为什么或如何在没有这个的情况下工作,但这对我有帮助 - 也应该帮助其他人。

编辑:增强答案以包含示例代码:

$(document).on('show.bs.modal','#md-load-test-modal',function(){
          console.log('Modal opened');
      });