看起来Bootstrap在调用.modal('show')
函数时会生成多个重复事件。我希望会调用一个'shown.bs.modal'
事件,而是从单个事件处理程序中获取3-7个事件日志。
从.modal
div中删除.fade类修复了此问题,并且该事件仅触发一次。
HTML:
<div class="modal fade" id="cmsDialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
JAVASCRIPT:
$(document).ready(function() {
$('#cmsDialog').on('shown.bs.modal', function(e) {
console.log('modal shown!');
});
$('.cmsZoneToolbar').find('.cmsZoneEdit').click(function(e){
openeditscreen();
return false;
});
});
openeditscreen = function() {
$('#cmsDialog').find('.modal-body').html('MODAL CONTENT');
$('#cmsDialog').modal('show');
}
JS Fiddle(请注意,我只能使用jQuery 1.7.1复制它): http://jsfiddle.net/mborn/z0zstu0o/3/
编辑:更新我的jQuery版本是理想的解决方案吗?似乎没有其他记录的此错误案例 - 它是一个jQuery错误,还是一个Bootstrap错误?或者它是一个错误,我做错了什么? (我还不是Bootstrap大师。)答案 0 :(得分:2)
自Bootstrap v3.0.0
以来,根据bower.json
1.9.0
"dependencies": {
"jquery": ">= 1.9.0"
}
您可以从文档的内容部分了解到这一点: