我正在尝试编写一个通用的分页实用程序,这是一个非常简化的形式:

Pagin = function(settings){

    var prevSelector = settings.prevSelector || 'a[title="Previous"]',
    nextSelector = settings.nextSelector || 'a[title="Next"]';

    $(prevSelector).live('click', onPrevNextPage);
    $(nextSelector).live('click', onPrevNextPage);
}


在同一地方有多个需要分页的地方。我试图通过创建这样的不同对象来重用它:

var gridPagin = new Pagin();
var dialogPagin = new Pagin();


我面临的问题是,在拥有2个对象之后,单击“上一个”或“下一个”,onPrevNextPage函数将执行两次。

即使处理程序连接了两次,有没有办法告诉live仅触发一次?

谢谢,
克里斯。

最佳答案

您可以先分离先前的处理程序:

$(prevSelector).die('click').live('click', onPrevNextPage);

关于jquery - jQuery对于同一事件和元素多次触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7952579/

10-09 23:52