jquery datepicker onselect事件处理程序多次

jquery datepicker onselect事件处理程序多次,jquery,event-handling,datepicker,onselect,Jquery,Event Handling,Datepicker,Onselect,我试图在jquery datePicker对象上处理相同的onSelect事件两次。据我所知,事件可以被多次处理,但当我尝试这样做时,只有一个事件处理程序被触发。它似乎会触发第二个处理程序,但不会触发第一个处理程序。如何在不覆盖第一个onSelect事件的情况下处理同一个onSelect事件两次?这就是问题代码段 $(document).ready(function(){ $('.test').datepicker(); ... $('.test').datepicker

我试图在jquery datePicker对象上处理相同的onSelect事件两次。据我所知,事件可以被多次处理,但当我尝试这样做时,只有一个事件处理程序被触发。它似乎会触发第二个处理程序,但不会触发第一个处理程序。如何在不覆盖第一个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'); });
}

您正在使用的代码只是将第一个onSelect处理程序替换为第二个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'); } );
});

精彩的!那正是我想要的,谢谢你的帮助!真正地一个漂亮的答案。做4次
$('.test')
不是有点浪费吗?否则,这是一个非常有用的答案