我试图在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'); });
}
答案 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'); } );
});