我正在开发一个用于文本框的 jQuery 插件,我希望它可以与使用文本框的 jQueryUI 小部件一起使用,例如 datepicker。这给我带来了问题,因为日期选择器上的模糊事件似乎是在实际设置值之前引发的。
我使用的一种解决方法是在执行我的代码之前设置一个超时,以便有时间设置 datepickers 值。见下面的代码:
$(this).blur(function() {
// $(this).val() == ""
var elem = $(this);
setTimeout(function() {
//elem.val() != ""
},100);
});
我不确定这种解决方法是否是问题的最佳解决方案,或者即使它总是有效。如果我将超时设置为 10 毫秒而不是 100 毫秒,则它不起作用 - 我担心代码是否由于某种原因执行缓慢,100 可能并不总是足够的。
谁能想到一个更好的解决这个问题的方法?