我正在使用 jquery Datepicker 验证文本输入的模糊事件。只想在用户离开文本输入时进行验证。目前,模糊事件会在 Datepicker 的每个值更改时触发。如何知道事件是否来自 Datepicker 的值更改?
问问题
1483 次
2 回答
0
如果你使用,你可以这样做
$(date-picker-selector).click(function(){
.......//Your code to validate.
})
而不是文本输入上的 .blur 。.blur
当然会触发该功能,即使该值不是来自日期选择器。
或者设置一个标志,
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.
}
})
但是当用户点击日期选择器窗口上的anywere时,也会触发点击事件,而不仅仅是在选择日期时。我只有选择日期才需要此标志设置为true。
然后选定的值将为空,解决方案在这里...
于 2013-08-08T10:41:19.597 回答
-1
再次感谢 OP。我想出了一个最适合当前站点代码结构的解决方案:我在Datepicker beforeShow事件上将标志设置为“ true ”,在onClose事件上将其设置为“ false ”。此外,使用此解决方案选择日期后 Datepicker 也不会关闭。
于 2013-08-13T08:54:49.007 回答