Javascript 在调用函数而不涉及实际函数(jquery)时是否有回调?

Javascript 在调用函数而不涉及实际函数(jquery)时是否有回调?,javascript,jquery,roundcube,Javascript,Jquery,Roundcube,我正在开发一个小插件,如果电子邮件中的邮箱中有未读邮件,它会改变favicon。但是,API很糟糕,只有在加载整个页面时才会触发事件listupdate,即使该事件是在列表更新时触发的 但是,我发现,每次更新列表时,都会调用某些函数,例如set\u unread\u count。它很容易获得未读计数,因此以某种方式将内容“附加”到此函数中会很好。我只是认为,基于几个小时的搜索,没有解决这个问题的办法。调用set\u unread\u count时,是否可以添加要调用的回调?我可以在函数中添加一些

我正在开发一个小插件,如果电子邮件中的邮箱中有未读邮件,它会改变favicon。但是,API很糟糕,只有在加载整个页面时才会触发事件
listupdate
,即使该事件是在列表更新时触发的


但是,我发现,每次更新列表时,都会调用某些函数,例如
set\u unread\u count
。它很容易获得未读计数,因此以某种方式将内容“附加”到此函数中会很好。我只是认为,基于几个小时的搜索,没有解决这个问题的办法。调用
set\u unread\u count
时,是否可以添加要调用的回调?我可以在函数中添加一些东西吗?还有其他想法吗?

创建一个小
hook

var _old_set_unread_count = set_unread_count;
set_unread_count = function() {
    // do whatever you want here
    // access arguments[x] to get arguments.

    _old_set_unread_count.apply(this, arguments);
};

演示:

你不能简单地将一个事件侦听器添加到未读计数中,如果有更改,那么你应该做你需要做的任何事情。而不是在另一个函数上附加一个回调函数,即使我认为这可能是不可能的。这难道不是只有在函数尚未绑定为事件侦听器时才起作用吗,或者它是从另一个函数中调用的?也就是说,您如何知道调用
set\u unread\u count
时,调用方通过其全局标识符引用它,而不是将其作为分配给本地变量的func调用?(就像
something.addEventListener('x',set\u unread\u count)
…@J-P:当然,只有在绑定或引用其他地方之前将方法挂起,这才有效。