bootstrap的datepicker如何检测用户点击页面其他区域时,关闭datepicker

发布于 2022-09-06 21:57:35 字数 729 浏览 17 评论 0

  1. 开始想到的是input会绑定blur事件,但是用户点击时间控件也是触发inputblur事件,不可行
  2. 猜想可能是绑定documentclick事件,这时候检测event.target是否包含bootstrapclass,但是想到datepicker应该不会每个元素都有某个固定的class
  3. 猜想会使用containes方法,比如绑定documentclick事件,判断当前点击的event是否在datapicker的最顶级的class中。
  4. 在页面建立一个mask层,背景是透明的,z-index值比datepicker的小,这时候点击页面其他区域都是在点击mask层,然后时间控件隐藏。但是用户并不知道这是在点击透明层,这时候点击其他可操作区域的时候会发现点击没有响应(因为这时候是在隐藏时间控件和隐藏透明层操作),第二次点击时,透明层被移除后,才能点击其他操作。所以这种方案也会有弊端

想问下还有什么比较好的方法吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文