我试图在
jquery datePicker对象上处理相同的onSelect事件两次.根据我的理解,事件可以多次处理,但是当我尝试这个时,只有一个事件处理程序被触发.它似乎解雇了第二个处理程序,但不是第一个处理程序.如何在不覆盖第一个事件的情况下两次处理相同的onSelect事件?这是问题代码段.
$(document).ready(function(){ $('.test').datepicker(); ... $('.test').datepicker('option','onSelect',function(dateText,inst) { alert('one'); }); } ... $(document).ready(function(){ $('.test').datepicker('option',inst) { alert('two'); }); }
解决方法
您正在使用的代码只是用第二个替换第一个onSelect处理程序.如果你想做两件事,那么你需要首先获得现有的onSelect处理程序,然后从你要替换它的处理程序中调用它.
$(function() { $('.test').datepicker(); $('.test').datepicker('option',inst) { alert('one'); } ); var prevHandler = $('.test').datepicker('option','onSelect'); $('.test').datepicker('option',inst) { prevHandler(dateText,inst); alert('two'); } ); });