javascript - 当通过 MVC 局部 View 注入(inject)时,Bootstrap 模态显示和隐藏事件不会触发

标签 javascript jquery asp.net asp.net-mvc twitter-bootstrap

在 ASP.NET MVC 5 中,我有一个 id 为 #modal 的 Bootstrap 模式,当满足某些条件时(省略条件),它作为 view 的一部分加载为简洁起见)。我在 js 文件中实现了 #modalshown.bs.modalhidden.bs.modal 函数:main. js

到目前为止一切顺利,一切正常。但是,在不满足上述条件的情况下,模态将通过 AJAX 调用注入(inject)到 View 的 HTML 中,作为部分 View 的一部分。模式与之前提到的完全相同(相同的 #modal id,相同的一切)。然而,这次 main.js 中的 shown.bs.modalhidden.bs.modal 函数没有触发。这是为什么?

最佳答案

main.js 中更改事件处理程序:

$('#modal').on('shown.bs.modal', function (e) { ... });
$('#modal').on('hidden.bs.modal', function (e) { ... });

委托(delegate)的事件处理程序:

$('body').on('shown.bs.modal', '#modal', function (e) { ... });
$('body').on('hidden.bs.modal', '#modal', function (e) { ... });

您可以将 body 替换为包含 #modal 的父容器。有关详细说明,请参阅 @Stephen Muecke's comment 中的链接。 .

关于javascript - 当通过 MVC 局部 View 注入(inject)时,Bootstrap 模态显示和隐藏事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39314940/

相关文章:

javascript - 向用户发送私有(private)消息

ruby-on-rails - 在 Rails 中使用 will_paginate 和 AJAX 实时搜索以及 jQuery

c# - .Net 4.0 框架和 4.5 框架之间的区别?

php - 从客户端向服务器发送变量 | JSON 与 POST

javascript - 给定订阅者的 Redux-logic 订阅取消

jquery - 使用 jQuery 添加元素后背景停止

c# - 如何删除Linq to Entity中的多条记录?

c# - 如何在 Web Publish 发布包中包含类库的 App.Config 文件

javascript - 星级评定系统 (jQuery)

javascript - jQuery 扩展搜索图标输入,不太有效