gpt4 book ai didi

jquery - 附加到 jQuery Datepicker 模糊事件

转载 作者:行者123 更新时间:2023-12-03 22:37:31 25 4
gpt4 key购买 nike

我正在开发一个用于文本框的 jQuery 插件,我希望它能够与使用文本框的 jQueryUI 小部件(例如日期选择器)一起使用。这给我带来了问题,因为日期选择器上的模糊事件似乎在实际设置值之前被抛出。

我使用的解决方法是在执行代码之前设置超时,以便有时间设置日期选择器值。参见下面的代码:

$(this).blur(function() {
// $(this).val() == ""
var elem = $(this);
setTimeout(function() {
//elem.val() != ""
},100);
});

我不确定这个解决方法是解决问题的最佳方法,或者即使它总是有效。如果我将超时设置为 10 毫秒而不是 100 毫秒,则它不起作用 - 我担心代码是否由于某种原因执行缓慢,100 毫秒可能并不总是足够。

谁能想出更好的解决方案来解决这个问题吗?

最佳答案

最后,我的解决方案是,如果日期选择器使用有问题的文本框(通过检查 hasDatepicker 类),则动态 Hook onClose 事件。这样做的问题是,您无法像通常那样绑定(bind)到事件,因为日期选择器只能将一个函数附加到其特定事件。为了解决这个问题,我检查是否已经附加了一个函数,如果是的话,在我的代码之后调用它:

var elem = $(this);
var someFunction = function() {
//elem.val() != ""
}
if (elem.hasClass('hasDatepicker')) {
var onClose = elem.datepicker('option','onClose');
elem.datepicker('option','onClose', function() {
someFunction();
if (onClose) { onClose(elem.val()); }
});
} else {
elem.bind('blur',someFunction);
}

关于jquery - 附加到 jQuery Datepicker 模糊事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13127115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com