jqueryui datepicker如何阻止onblur事件?

时间:2012-01-23 17:44:18

标签: jquery jquery-ui datepicker onblur

我目前正在研究jqueryui datepicker,我无法理解它是如何阻止onblur对输入的影响。

即:当您点击带有日期选择器的输入时,会显示日历,您可以单击下一个/上个月,但输入会保持关注状态。您也可以点击日历中的任何位置,它不会消失。但是,当您单击日历和输入之外的任何其他链接时,日历将消失并且链接正常工作,这意味着在包含onclick事件的页面上不存在任何透明div(用于关闭日历)。

似乎有一些类似onblur事件被绑定到输入。但是,当您在日历中单击时,此事件不会触发。他们是如何做到的?

讨论了类似的问题here,但在jquery datepicker中没有超时。

1 个答案:

答案 0 :(得分:1)

这就是它在jqueryui datepicker中的工作原理。 有一个输入和一个onfocus事件来显示日历div。并且没有onblur事件。而不是这个,有一个onmousedown事件,附加到整个文档。我们检查event.target及其父级以匹配我们的日历div类和输入。