2

Internet Explorer の Bootstrap Modal イベントに問題があります。

私が構築しているサイトにはいくつかのモーダルがあり、それぞれにいくつかのリンクがあり、クリックするとモーダルが非表示になるとさまざまなことが行われます。問題は、モーダルが Internet Explorer で少なくとも 1 回開いて閉じられない限り、これらのイベントが発生しないことです。

いくつかのコード、これは私のモーダルのすべてのボタンに対して繰り返され、閉じたときにさまざまなイベントが発生します:

$('#my-btn').on('click', function() {
    $("#my-modal").modal('hide').on('hidden', function(){
        alert("This wont fire in IE first time around");
    });
});

私の回避策(醜い):

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 を実行しています。

4

1 に答える 1