Skip to main content
 首页 » 编程设计

jquery之如何向 jquery-ui datepicker 实例添加额外的事件处理程序

2026年07月28日10lexus

我有一个带有 onSelect 事件处理程序的日期选择器。稍后在我的程序中,我想添加其他 onSelect 处理程序。问题是,他们消灭了第一个。 ( Fiddle .)

如何在不这样做的情况下添加其他处理程序?

请您参考如下方法:

您可以在数组中维护所需的调用;

var firstHandler = function(dateText, inst) { 
    console.log('Original Handler', dateText, inst); 
}; 
 
var secondHandler = function(dateText, inst) { 
    console.log('Second Handler', dateText, inst); 
}; 
 
$('#datepicker').datepicker({ 
    onSelect: function() { 
        var sinks = $(this).data("mySelects"); 
        for (var i = 0; i < sinks.length; i++) 
            sinks[i].apply(this, arguments); 
    } 
}).data("mySelects", [firstHandler]); 
 
$('#addBtn').click(function(event) { 
    $('#datepicker').data('mySelects').push(secondHandler); 
    $('#datepicker').data('mySelects').push(nthHandler); 
});