扩展自定义jquery事件回调?

时间:2012-11-07 16:59:30

标签: jquery javascript-events

我有这个自定义插件事件回调,它在所有页面上触发

$(document).on('pjax:complete', all.myfunction);

我想扩展myfunction:调用all.myfunction然后调用特定代码

//  my specific page  
$(document).on('pjax:complete', specific.myfunction);

specific.myfunction = function() { 
    all.myfunction();
    /* code relative to this specific page */
}

有没有更清洁的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

如果您只想要额外的功能,可以添加一个新的处理程序。它不会覆盖现有的处理程序

$(document).on('pjax.complete', specific.myfunction);

一个细节是,无法保证以特定顺序调用处理程序,即使在实践中,它们是按照安装顺序调用的。因此,如果您需要保证首先调用第一个处理程序,则必须执行以下操作。

$(document).off('pjax.complete', all.myfunction);
$(document).on('pjax.complete', function() {
    all.myfunction();
    specific.myfunction();
});