在 bootstrap-datepicker 事件中多次调用 Show 事件

Show event was called multiple times in bootstrap-datepicker event

我正在使用 bootstrap-datepicker 显示日期选择器控件 我想在打开日期选择器弹出窗口之前调用一个自定义 javascript 事件

我做了如下代码 var date = $(id).datepicker({});

$(date).on('show.bs.modal', function (e) {
       e.stopPropagation();
    }).on('hide.bs.modal', function (e) {
       e.stopPropagation();
    });
}


 $(date).on('show',function (e) {
         alert(1);  
         return;
     });

当我打开日期选择器时,警报消息“1”一直在显示。

$(document).ready(function(){

   var dateObj =$('#DOB').datepicker()
   
   $(dateObj).on('show.bs.modal', function (e) {
            e.stopPropagation();
   }).on('hide.bs.modal', function (e) {
            e.stopPropagation();
   });
   
   $(dateObj).on('show', function (e) {
      alert(1); 
      return;
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.min.css" rel="stylesheet"/>
<div class="form-group required">
  <label class="control-label" for="DOB">Normal  Date<span></span>     </label>
  <input class="form-control input-singleDate calendarIcon" id="DOB"    name="DOB" placeholder="Select Date"   type="text">
</div>

发生的事情是您正在关注警报,然后焦点转移到再次触发事件的日期时间选择器。

如果将警报更改为 console.log(1);它会正确触发。