双击时,jQuery UI Datepicker不会关闭
问题描述:
Demo
在Ubuntu,Chrome Mac和其他版本的Chrome 18中转载。双击时,jQuery UI Datepicker不会关闭
只需双击该链接,然后选择一个日期。日期选择器变得不可关闭。我该如何解决?
我想检查日历再次显示它之前当前打开的,但我can't see a property for that。
HTML
<a href="#">double click me</a><input/>
JS
$('input').datepicker();
$('a').click(function() {
$('input').datepicker('show');
});
这似乎是默认的动画渐变的一个问题。如果在淡入淡出完成前打开它两次,则会出现问题。设置duration
到0
解决了这个问题,但我喜欢淡入淡出的动画。
我提交了一个bug report。其实是a dupe。
答
也许这样的事情?
$('a').dblclick(function() {
if ($('input').datepicker('widget').is(':visible')) {
$('input').datepicker('hide');
}
});
+0
你试过了吗?不适合我。此外,在动画完成前单击两次时出现问题,实际上它不是双击(AFAICT)特有的,因此,即使此黑客工作正常,但如果用户对它进行了完美定时,它将无法在更长的时间内运行。 – mpen
答
$('input').datepicker();
$status = true;
$('a').click(function() {
if ($status){
$('input').datepicker('show');
$status = false;
}
else{
$('input').datepicker('hide');
$status = true;
}
});
这可能工作,你想要它
没有什么不对的地方,但事实上,你**不要**双击它,你只需点击一次,然后单击其他地方关闭它,如果你想为双击然后使用'.dblclick ()' – CKKiller
@ChristopherKenney您不能对可能双击/三击的最终用户强制执行此类条件,并且因为双击而断定它已损坏。 –
@ChristopherKenney:是的,我知道,但我的用户并不那么聪明。他们喜欢双击事物。这不能停止工作,因为有人不小心双击某件东西,这很荒谬。 – mpen