jquery datepicker onselect事件处理程序多次

时间:2010-02-11 02:00:22

标签: jquery event-handling datepicker onselect

我试图在jquery datePicker对象上处理相同的onSelect事件两次。据我所知,事件可以多次处理,但是当我尝试这个时,只有一个事件处理程序被触发。它似乎解雇了第二个处理程序,但不是第一个处理程序。如何在不覆盖第一个事件的情况下两次处理相同的onSelect事件?这是问题代码段。

$(document).ready(function(){
    $('.test').datepicker();
    ...
    $('.test').datepicker('option', 'onSelect', function(dateText, inst) { alert('one'); });
}

...

$(document).ready(function(){
    $('.test').datepicker('option', 'onSelect', function(dateText, inst) { alert('two'); });
}

1 个答案:

答案 0 :(得分:11)

您正在使用的代码只是用第二个替换第一个onSelect处理程序。如果你想做两件事,那么你需要首先获得现有的onSelect处理程序,然后从你要替换它的处理程序中调用它。

$(function() {
     $('.test').datepicker();
     $('.test').datepicker('option', 'onSelect', function(dateText,inst) { alert('one'); } );
     var prevHandler = $('.test').datepicker('option','onSelect');
     $('.test').datepicker('option', 'onSelect', function(dateText,inst) { prevHandler(dateText,inst); alert('two'); } );
});