我试图在现有的调用堆栈中追加或添加一个函数,用于jqueryui的datepicker'onSelect'事件,但是我失败了。
我已经粘贴了一个我想在这里做的事情的例子。
基本上,在第一次选择日期选择器之后,它应该alert('abc')
,然后是alert('def')
。
任何建议表示赞赏。
答案 0 :(得分:2)
你打电话之后
$('#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(){ ...
。