7

datepicker ( http://www.eyecon.ro/bootstrap-datepicker/ ) をクリックすると、彼の SHOW イベントが発生しますが、モーダルの SHOW.BS.MODAL も発生します。どこに問題がありますか?

$(document).ready(function() {
$('#ArrDate')
.datepicker()
.on("show", function(event){
    alert("Q");
});

$("#dlg3000to3100")
.on('show.bs.modal', function (event) {
    alert("W");
});

$("#dlg3000to3100")
.modal("show");
});

ありがとう

4

3 に答える 3

4

もう 1 つの回避策は、モーダル イベントでshow.bs.modalshown.bs.modalと交換することです。

modal.on('shown.bs.modal', function (event) {
               // Do something
            });

ただし、show を shown と交換したり、hide を hidden と交換したりできない場合は、ネームスペース チェックを使用します。

modal.on('show.bs.modal', function(e) {
    if (e.namespace === 'bs.modal') {
         // Do something
    }

});

于 2016-08-18T19:04:40.873 に答える
0

ショーイベントを監視している日付ピッカーが原因で、同様の問題が発生しました。

1 つのオプションは、モーダルで表示されたイベントを使用することですが、これはすべての場合に理想的ではありません

$('#dlg3000to3100').on('shown.bs.modal', function (event) {
    // modal code in here
});

より洗練された解決策は、イベントの名前空間を確認することです

$('#dlg3000to3100').on('show.bs.modal', function (event) {
    if(event.namespace !== 'bs.modal') return;
    // modal code in here
});

https://jsfiddle.net/bzh75tww/

于 2016-08-02T10:22:57.410 に答える