jquery datepicker onselect 事件处理程序多次

标签 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'); });
}

最佳答案

您使用的代码只是将第一个 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'); } );
});

关于jquery datepicker onselect 事件处理程序多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241725/

相关文章:

javascript - 使通过 DFP 提供的广告完全响应

javascript - 处理数组项上的事件将不起作用 - ReactJS

c# - 查找已将哪个事件处理程序分配给对象 WPF 上的事件

javascript - 允许使用 bootstrap-datepicker 进行 1 天预订

javascript - Ng-disabled 无法与 AngularStrap 版本的 Bootstrap 日期和时间选择器一起使用

javascript - 限制输入到文本框: it only accept number and should not accept decimal value

javascript - 用于不同 HTML 结构的 jQuery 选择器

javascript - jQuery .ajax() - 向 POST 请求添加查询参数?

javascript - Knockout JS 防止在特定子项上触发点击事件

javascript - 失去焦点后关闭我的日期选择器