Bootstrap datepicker: 焦点不打开

Bootstrap datepicker: Focus without opening

我正在使用 bootstrap 日期选择器和 jQuery 验证。我已将 jquery 验证设置为在字段为空且为必填项时专注于输入。

然而,使用 bootstrap 日期选择器时,焦点事件会导致日历打开。这在我的情况下并不理想。我想知道是否有一种方法可以集中注意力,但可以通过 preventDefault 或类似的方法?

我做了一个jsfiddle。基本上,是否可以单击按钮以关注元素,但不打开日历? https://jsfiddle.net/a2gkpxuh/ 焦点的主要目的是滚动页面,以便用户可以看到所需的元素。

$("#myButton").click(function () {
   //Some code to prevent default here?  Possibly disable datepicker before .focus event
   $("#myDatePicker").focus();
});

我想一个可能的解决方案是禁用日期选择器,然后执行 jQuery.validate(),然后重新启用日期选择器。不过我觉得还有更好的方法...

仅供参考 这是一个类似的问题:Set focus on Jquery datepicker on datepicker close, without opening datepicker

您可以将日期选择器隐藏在焦点之后:

$("#myButton").click(function () {
    $("#myDatePicker").focus();
  $("#myDatePicker").datepicker('hide');
});

只需添加到 Maxwell_Orr 即可防止用户弹出日期选择器。

你可以这样做:

$('.default-date-picker').datepicker({
  format: 'mm/dd/yyyy',
  autoclose: true
});

$("#myButton").click(function () {
    $("#myDatePicker").focus();
    $("#myDatePicker").datepicker('hide');
});

$("#myDatePicker").click(function () {
    $("#myDatePicker").focus();
});