我的应用程序中有2列 在第一列,它在网站加载期间加载。
如果选择框已"changed"
,则会在第二列加载
这里的问题是我的代码是这样的:
jQuery(".pagination").live("click",function(event){
var pId = jQuery(this).attr("id");
if( pId == "centerPagination")
CenterColumnPagination();
else if( pId == "searchPagination" )
SearchColumnPagination();
});
在我的网站页面加载期间调用它们的CenterPagination函数。
当"changed"
之所以“点击”他们是因为在这2列我有一个有.pagination
的班级。
我的问题在于,由于live
代码,当我点击我的第一列时,按钮似乎被触发两次,我注意到一个,因为当我检查firebug的控制台时,ajax调用已被调用两次,因此,我得到了重复的结果。
同样在第二列,当我changed
选择框(分页类出来),然后点击分页类的按钮,它也被触发两次。与第1列结果相同。
我想要的是不要让这些按钮被触发两次,就像正常点击一样。就像我点击它一样,它应该只调用我的ajax一次。
请指导我。非常感谢您的帮助和奖励!
谢谢! : - )
答案 0 :(得分:1)
我更愿意避免使用live
。而不是我使用delegate
:
$('#column-1').delegate('.pagination', 'click', function () {
CenterColumnPagination();
});
$('#column-2').delegate('.pagination', 'click', function () {
SearchColumnPagination();
});
或者,如果您不想识别列,可以这样做:
jQuery('body').delegate(".pagination", "click", function(event) {
var pId = jQuery(this).attr("id");
if( pId == "centerPagination")
CenterColumnPagination();
else if( pId == "searchPagination" )
SearchColumnPagination();
});