我有一个jQueryUi日期选择器,有时我不希望它显示日期选择对话框。我的问题是,我可以在beforeShow选项中做一些阻止对话框打开的内容吗?
$('.date').each(function () {
$(this).datepicker({
beforeShow: function (input, inst) {
// ???? What can I put here
// to prevent datepicker dialog from opening? ????
}
});
});
我想这样做的原因是我在IE8中的应用程序中遇到了问题。发生的事情是,在用户选择了日期并更新输入字段后,会触发另一个焦点事件,这会导致datepicker对话框重新打开。但同样,仅在IE8中。问题与我使用knockoutjs的方式有关。但找到确切的原因证明是非常困难的。因此,如果我可以阻止重新打开datepicker对话框,它将使问题远离用户的观点。是的我知道这有点像黑客,但它比尝试跟踪哪些事件正在触发以及何时触发要简单得多。
答案 0 :(得分:0)
它似乎与Stop jquery-ui datepicker from showing in beforeShow类似。而且看来,当前的jQueryUI不支持取消beforeShow中的开放。无论如何,你应该对那个焦点部分做一些事情,而不是日期选择器。也许您可以在第一次打开后设置一些变量,然后在该元素上使用focus()事件进行检查。无论哪种方式,这将是一个黑客。最好是,如果它真的与knockout.js有关,请联系开发人员或填写错误报告。