bootstrap的datepicker如何检测用户点击页面其他区域时,关闭datepicker
- 开始想到的是
input
会绑定blur
事件,但是用户点击时间控件也是触发input
的blur
事件,不可行 - 猜想可能是绑定
document
的click
事件,这时候检测event.target
是否包含bootstrap
的class
,但是想到datepicker应该不会每个元素都有某个固定的class
- 猜想会使用
containes
方法,比如绑定document
的click
事件,判断当前点击的event
是否在datapicker
的最顶级的class
中。 - 在页面建立一个
mask
层,背景是透明的,z-index
值比datepicker
的小,这时候点击页面其他区域都是在点击mask
层,然后时间控件隐藏。但是用户并不知道这是在点击透明层,这时候点击其他可操作区域的时候会发现点击没有响应(因为这时候是在隐藏时间控件和隐藏透明层操作),第二次点击时,透明层被移除后,才能点击其他操作。所以这种方案也会有弊端
想问下还有什么比较好的方法吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论