触发对数据目标模态的点击不会触发show.bs.modal

问题描述

我正在尝试根据URL中是否存在特定查询字符串来自动打开引导程序模式。我通过在通常点击该模式的按钮上调用trigger('click')来实现此目的:

<a href="" id="openmodal" class="btn btn-primary" data-toggle="modal" data-target="#myModal">Open Modal</a>
$("#openmodal").trigger('click');

模式可以很好地打开,但是问题在于,当使用触发单击打开模式时,通常在打开模式时触发的以下事件不再触发:

$(document).on('show.bs.modal','#myModal',function(e){
    // This does not get fired anymore
});

有人知道为什么在模式打开按钮上调用触发器(“ click”)时,不会触发show.bs.modal事件吗?

感谢您的帮助

解决方法

您的事件绑定必须在触发代码之前,如下所示:

$(function() {
    // You can also do
    // $('#myModal').on('show.bs.modal',function(e) {
    $(document).on('show.bs.modal','#myModal',function(e) {
        console.info(e);
    });
    
    $("#openmodal").trigger('click');
});

演示: https://jsfiddle.net/davidliang2008/g51aLcxr/7/

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...