首页 > 解决方案 > 使 currentText 按钮关闭 Datepicker

问题描述

我试图让 currentText 按钮在单击时关闭日期选择器弹出窗口。现在我正在尝试

$('body').on('click', '.ui-datepicker-current', function() {
  
  $('#ui-datepicker-div').hide();
});

但它不是警报或任何东西。我不确定如何选择它。我使用了另一个普通按钮来测试它,它确实关闭了日期选择器。

标签: javascriptjquery

解决方案


jquery UI 似乎阻止了“今天”按钮上的点击事件的传播。你可以做的是在容器 div 上有一个点击事件并检查是否event.target是按钮。

例如

$("#datepicker").datepicker({
  showButtonPanel: true
});

$('.ui-datepicker').click(function(event) {
  if ($(event.target).hasClass("ui-datepicker-current")) {
    $("#datepicker").datepicker("setDate", new Date());
    $("#datepicker").datepicker("hide");
  }
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Date: <input type="text" id="datepicker"></p>


推荐阅读