我正在使用jquery Datepicker验证文本输入的blur事件。 想要仅在用户离开文本输入时进行验证。 目前,模糊事件会触发Datepicker的每个值更改。 如何知道事件是否来自Datepicker的值变化?
答案 0 :(得分:0)
如果您使用
,则可以这样做$(date-picker-selector).click(function(){
.......//Your code to validate.
})
而不是文本输入上的.blur。 .blur
将会触发该函数,即使该值不是来自datepicker。
或设置一个标志,
var flag = "false";
$(date-picker).click(function(){
flag = "true";
$(input-box).focus(); //You need this only if clicking on date-picker removes focus from the text input.
});
$(input-box).blur(function(){
if (flag=="true"){
validate(input) // validate the input.
flag = "false"; //set flag to false again for newer input, thus waiting for newer input.
}
})
但是当用户点击日期选择器窗口上的任何内容时,不仅在选择日期时,点击事件也将被触发。我需要 仅当选择了日期时,此标志才设置为true。
然后所选的值将为空,解决方案为here ...
答案 1 :(得分:-1)
再次感谢OP。我已经找到了一个最适合当前站点代码结构的解决方案: 我在Datepicker beforeShow事件上将标记设置为“ true ”,并在onClose事件中将其设置为“ false ”。使用this solution选择日期后,Datepicker也没有关闭。