我试图为 jqueryui 的 datepicker 'onSelect' 事件附加或添加一个函数到现有的调用堆栈,但我失败了。
我已经粘贴了一个我在这里尝试做的例子。
基本上,它应该在第一次选择日期选择器alert('abc')
之后alert('def')
。
任何建议表示赞赏。
我试图为 jqueryui 的 datepicker 'onSelect' 事件附加或添加一个函数到现有的调用堆栈,但我失败了。
我已经粘贴了一个我在这里尝试做的例子。
基本上,它应该在第一次选择日期选择器alert('abc')
之后alert('def')
。
任何建议表示赞赏。
在你打电话给这个之后
$('#hello').datepicker("option", "onSelect", function(){
var prevFunction ...
当前的事件处理程序已经是新的了!因此,当事件触发并执行以下代码时
var prevFunction = $(this).datepicker("option","onSelect");
prevFunction
指向自己。您可以使用 IIFE 解决此问题:
$('#hello').datepicker("option", "onSelect",
(function() {
var prevFunction = $('#hello').datepicker("option","onSelect");
return function(){
prevFunction();
alert('def');
};
}()));
现在立即var prevFunction = ..
调用并存储旧的处理程序。新处理程序分配有return function(){ ...
。