jquery为同一事件和元素多次实时触发

时间:2011-10-31 10:41:37

标签: jquery

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

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个对象后,单击'prev'或'next',onPrevNextPage上的函数将被执行两次。

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

谢谢, 克里斯。

1 个答案:

答案 0 :(得分:3)

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

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