Tan*_*ner 6 jquery internet-explorer jquery-ui jquery-ui-datepicker internet-explorer-10
这个问题涉及到Internet Explorer 10,这是我正在测试的,并不影响我当前的版本Firefox or Chrome.
在Internet Explorer中重现的步骤
datepickerIE,然后返回IE并单击datepicker面板中的一些空白空间.datepicker消失然后重新出现,我认为这必须与最后一次拥有焦点的控件相关,当你点击后重新获得焦点.我注意到了什么:
IE,它就不会发生虽然我可以接受这是一个小问题而且看起来并不像是一个错误,但在我们的应用程序中它更像是一个问题,它datepicker显示为弹出窗口的一部分,在您点击它之后消失.
父容器的日期选择器:

孤立日期选择器重新出现:

我尝试过的:
我已经看过有关可见性的帖子,这些帖子datepicker在下面提到了,我测试过:
$("#my-datepicker-div").datepicker('destroy');
$("#my-datepicker-div").datepicker('disable');
Run Code Online (Sandbox Code Playgroud)
即使我很高兴忽略这个边缘情况,它也被提出作为我需要解决的错误.我只是不确定还有什么可以尝试的.
我能够通过调用以下命令在 IE 10 中修复(刷新然后关闭,因此有一点闪烁):
$("#datepicker").datepicker("hide");
Run Code Online (Sandbox Code Playgroud)
在 div 关闭时调用的函数中(在这个快速示例中,您在返回到窗口时单击 div 外部)。小提琴示例: http: //jsfiddle.net/anyuG/
要重现您为 IE 10 描述的行为,只需注释掉函数中的该行disablepopup(),您就可以重现孤立的日期选择器窗口。如果您将实际示例发布为小提琴,我们可以使用它。
在这里获取弹出 div 示例:http://istockphp.com/jquery/creating-popup-div-with-jquery/
更新
处理这个问题的另一种方法,看起来更好一点,是使用$(window).blur()和$(window).focus()函数。在我看来,这看起来不错,请注意关闭窗口离开,如果您在白色框内单击,则重新打开,如果您在白色框外单击,则重新打开,但全部关闭:
$(window).blur(function(e) {
$("#datepicker").datepicker("hide");
});
Run Code Online (Sandbox Code Playgroud)
更新了小提琴。也可以.focus()根据您的喜好确定最佳组合,您应该会做得很好。也可能只想检测 IE 10,并且仅在该浏览器中运行此代码。
小提琴: http: //jsfiddle.net/78252/1/
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |