我重新编写了分页插件,当我使用显式Id绑定到插件时,它工作正常。但是,当我使用类名绑定插件时,“页面选择”事件仅触发一个元素。
所以,我的问题是......
为什么不触发这两个元素的触发器?
为了清楚......触发器引发了两次,但绑定没有运行两次......这很明显,因为控制台getS只写了一次!
代码位于:
The JS Fiddle
攻击区域是:
<script type="text/javascript">
$(document).ready(function () {
var pageSize = 5;
$('.grid-bar-pager').pagination({
itemsPerPage: pageSize,
numberDisplayEntries: 10,
numEdgeEntries: 2,
maxEntries: 10
});
$('.grid-bar-pager').data('pagination').bind("pageSelected", function (event, args) {
console.log("pageSelected"); // <--- THIS ONLY FIRES once?
});
});
</script>
答案 0 :(得分:2)
我现在看到了问题。你绑定了这样的事件处理程序:
$('.grid-bar-pager').data('pagination').bind( ... );
对.data()
的调用将仅返回第一个匹配元素的Controller对象 。您应该在.each()
循环中进行绑定,以便绑定到每个Controller对象:
$('.grid-bar-pager').each(function() {
$(this).data('pagination').bind( ... );
});