由于jQuery UI datepicker不使用widget工厂,因此它的事件很稀疏。
我需要捕获每个日期选择器打开(beforeShow)和每个onClose。我想这样做而不需要单独指定每个实例。
有效方法吗?
使用UI对话框,我可以抓住所有内容:
$(document).on("dialogopen", ".ui-dialog", function (event, ui) {
或延伸:
var _open = $.ui.dialog.prototype.open;
$.ui.dialog.prototype.open = function() {
var self = this;
// apply original arguments
_open.apply(this, arguments);
我还没有找到使用datepicker实现此目的的方法。想法?
修改
发现这个:
var __picker = $.fn.datepicker;
$.fn.datepicker = function(options) {
__picker.apply(this, [options]);
var $self = this;
console.log(options);
}
但是,我实际上需要覆盖或设置所有日期选择器的特定选项。
对话示例:
$.ui.dialog.prototype.options.modal = false;
编辑#2
设置dedault选项,但仍然必须在任何datepicker inits之前执行。
$.datepicker.setDefaults({ closeText: 'close' })