代码之家  ›  专栏  ›  技术社区  ›  ThunD3eR

如何在用户单击引导模式对话框外部时捕获事件?

  •  1
  • ThunD3eR  · 技术社区  · 9 年前

    脚本 :

    1. 我点击一个按钮
    2. 对服务器进行Ajax调用
    3. 返回数据并显示模态

    问题 :

    当用户单击关闭按钮或角落里的“X”时,我通过给这两个元素分配一个类并给这个类分配一个事件来捕捉这个事件。

    密码 :

    $(document).on("click", ".dialogTankClose", function() {
        //some code
    })
    

    我的问题是,当用户点击对话框外部或按下“escape”时,我无法理解如何捕捉。

    $(document).on("click", "modalCloseEvent",function(){
    // how to catch this?
    })
    

    我怎么能抓住这个?

    2 回复  |  直到 9 年前
        1
  •  5
  •   Rory McCrossan Hsm Sharique Hasan    9 年前

    Bootstrap模式在关闭时引发一个事件,您可以将其挂接到: hidden.bs.modal 。无论模式如何关闭,此事件都会激发。试试这个:

    $('#bootstrapModal').on("hidden.bs.modal", function() {
        $.automation.worker.bindIntervalEvent("#TanksContent", "/Tank/GetTanks", function () {
            $.automation.tanks.tableInit();
        });
    });
    

    如果将模式动态添加到DOM中,则可以使用委托事件处理程序:

    $(document).on("hidden.bs.modal", '#bootstrapModal', function() {
        $.automation.worker.bindIntervalEvent("#TanksContent", "/Tank/GetTanks", function () {
            $.automation.tanks.tableInit();
        });
    });
    

    更多信息请访问 Bootstrap documentation

        2
  •  0
  •   Saurabh Raut    4 年前

    您可以使用“hidden.bs”。modal的modal方法,以便在modal从文档中卸载/隐藏时运行自定义代码。

    $('#your-modal-ID').on('hidden.bs.modal', function (e) {
      console.log("Hey !! I am unloading... ");
    });