我正在使用list.js搜索和分页包含超过200行的表。我有一个点击事件,如果单击一行并触发一个模态,则会触发该事件。问题是这个click事件仅在分页时触发表的第一页上的行。
var testList = new List('test-list', {
valueNames: ['division', 'region', 'location', 'name'],
page: 10000,
plugins: [ListPagination({})]
});
当我将页面限制设置为10000时,我可以单击所有行,因为它们位于第一页上,但如果我将页面限制设置为50,那么只有第一页上的行可以单击。我在每一行中都有按钮,只有在第一页上才能点击。
我试图让最简单的codepen显示出来:
http://codepen.io/cavanflynn/pen/jPvEvB
仅在单击第一页上的列表项时弹出警报,但不会弹出任何后续页面。
有人知道可能会发生什么或想到一些解决方法吗? 谢谢!
答案 0 :(得分:1)
既然你还在使用jQuery,为什么不这样呢?
$('#test-list').on('click', 'li', function() {
alert("These work, but the rest don't :(")
})
编辑以回复您的评论:
来自jQuery文档:
事件处理程序仅绑定到当前选定的元素;它们必须在您的代码调用.on()时存在 ...
委托事件的优点是,它们可以处理来自稍后添加到文档的后代元素的事件。
所以你要做的就是选择表本身,然后在.on()
里面选择你想要触发事件的事件和元素。