我在Internet Explorer中遇到Bootstrap Modal事件的问题。
我正在构建的网站中有多个模态,每个模型都有许多链接,一旦模式被隐藏,单击时将执行不同的操作。问题是除非在Internet Explorer中至少打开并关闭了一次模态,否则不会触发这些事件。
有些代码,对于我的模态中的每个按钮都会重复此操作,关闭时会发生不同的事件:
$('#my-btn').on('click', function() {
$("#my-modal").modal('hide').on('hidden', function(){
alert("This wont fire in IE first time around");
});
});
我的解决方法(UGLY):
var modal_func_to_run;
$("#my-modal").on('hidden', function(){
if ( modal_func_to_run == 'first' )
alert("This will fire in IE");
else if ( modal_func_to_run == 'second' )
alert("The second button was clicked!");
});
// ....
$('#my-btn').on('click', function() {
modal_func_to_run = 'first';
$('#my-modal').hide();
});
有没有人有更好的方法在Internet Explorer中解决问题?
我运行Bootstrap 2.3.2和jQuery 1.10.1。
答案 0 :(得分:1)
尝试
$('#my-btn').on('click', function() {
$("#my-modal").on('hidden', function(){
alert("This wont fire in IE first time around");
}).modal('hide');
});
只需更改绑定顺序,以便在隐藏调用
之前将事件处理程序绑定到模态