我正在尝试编写一个通用的分页实用程序,这是一个非常简化的形式:
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只触发一次,即使处理程序连接了两次?
谢谢, 克里斯。
答案 0 :(得分:3)
您可以先分离先前的处理程序:
$(prevSelector).die('click').live('click', onPrevNextPage);