我正在尝试编写一个通用的分页实用程序,这是一个非常简化的形式:
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/