我正在使用jquery的.load函数在html页面上单击按钮时将局部视图显示为模态。非常奇怪的是,当我在局部视图中更改某些内容并第一次单击该按钮时,将检索部分视图数据并在UI上正确显示它。但是当我稍后点击按钮时,会发出一个请求获取局部视图的请求,也会返回数据但是模态永远不会出现,直到我再次在局部视图中更改某些内容。为什么会这样呢?我尝试按照建议的here禁用ajax的缓存,但它仍然没有用。以下是我的代码。
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Launch demo modal</button>
<div class="modal" id="myModal">
</div>
<script>
$('#myModal').on('show.bs.modal', function(e) {
$('#myModal').load('myFile.cshtml'); //When loading from a file/url
})
</script>
我的部分视图标记:
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="mymodallabel">modal title</h4>
</div>
<div class="modal-body">
<p>Second from partial with clear cache</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">close</button>
</div>
</div>
</div>
编辑: 这个被标记为重复的问题是指动态加载元素的事件,而我的问题是关于静态元素,将在其上引入新(动态)元素的事件