Javascript 显示的事件类型为.bs.modal调用2次
请检查我的代码: HTML:Javascript 显示的事件类型为.bs.modal调用2次,javascript,html,twitter-bootstrap,Javascript,Html,Twitter Bootstrap,请检查我的代码: HTML: <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Teste</button> <!-- Modal --> <div id="myModal" class="modal fade" role="dialog"> <div class="modal-dialog">
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Teste</button>
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Teste modal</h4>
</div>
<div class="modal-body">
<label class="control-label">Select File</label>
<input id="input-1a" type="file" class="file" data-show-preview="false">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
</div>
</div>
</div>
</div>
$('#myModal').on('shown.bs.modal', function(e) {
alert("alert");
})
我正在使用这个插件:
在JSFIDLE中:
在('show.bs.modal',function(e))的第('myModal')行中,它执行2次
删除行
,工作正常
有什么解决办法吗?我也遇到同样的问题,这就是我的解决办法
var tm=false;
$('#myModal').on('show.bs.modal',函数(e){
如果(tm){tm=false;返回;}
else{alert('ok');tm=true;}
})
您使用的两个JavaScript库可能与jQuery发生冲突。为了避免这些冲突,您需要将jQuery置于无冲突模式,如下所示:
jQuery(document).ready(function( $ ) {
$('#myModal').on('shown.bs.modal', function(e) {
alert("alert");
e.stopPropagation();
})
});
希望有帮助!是的,请尝试将以下内容添加到jQuery代码中:e.stopPropagation();什么是
e.stopPropagation();
?stopPropagation阻止事件在事件链中冒泡。更多详细信息,请访问