当使用jquery live功能时,按钮将被触发两次
Button will be triggered twice when using jquery live function
我的应用程序中有两列在第一列中,它在网站加载期间加载。
在第二列中,如果选择框已被"changed"
,它将加载这里的问题是,我的代码是这样的:
jQuery(".pagination").live("click",function(event){
var pId = jQuery(this).attr("id");
if( pId == "centerPagination")
CenterColumnPagination();
else if( pId == "searchPagination" )
SearchColumnPagination();
});
他们的CenterPagination函数是在我的网站页面加载期间调用的
当"changed"
触发选择框时,会调用SearchColumnPaging
之所以"点击"他们,是因为在这两列上,我有一个类.pagination
,它有一个按钮。
我的问题是,由于live
代码的原因,当我点击我的第一列时,按钮似乎被触发了两次,我注意到了其中一次,因为当我检查firebug的控制台时,ajax调用被调用了两次。因此,我得到了重复的结果。
同样在第二列上,当我changed
选择框时(分页类会出现),然后点击分页类的按钮,它也会被触发两次。与第1列的结果相同。
我想要的是不要像正常的点击一样,让这些按钮被触发两次。就像当我点击它时,它应该只调用我的ajax一次。
请指导我。您的帮助将得到极大的感谢和回报!
谢谢!:-)
我更喜欢避免使用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();
});
相关文章:
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 加载时可以单击按钮#1,然后需要单击按钮#2两次.按钮#1也需要点击两次
- 当使用jquery live功能时,按钮将被触发两次
- 当再次单击时,我希望颜色消失.(喜欢/讨厌按钮,一切都可以,但如果我点击两次喜欢按钮,我希望颜色消失)
- 必须点击两次按钮才能执行功能
- JS函数中的一个点击按钮被调用了两次
- 十月CMS-单选按钮Ajax连续点击两次导致内容消失
- 按钮点击功能启动两次
- 需要单击按钮两次才能使javascript函数提供输出
- 按钮启动应用程序,但不会启动两次
- Facebook Javascript sdk,需要按两次登录按钮
- 单击两次提交按钮以发布表单
- 提交按钮有时会以 html 形式执行两次操作
- Ionic:单击两次时显示活动/非活动按钮
- Magento:需要一个跨浏览器的“继续购物”(后退两次)按钮来重新加载当前类别页面
- 如何使用javascript记录两次按钮按下之间的响应时间(以秒为单位)
- 需要点击两次按钮才能获得搜索结果
- 为什么我必须点击两次按钮才能工作,以及我如何解决这个问题
- OnClientClick正在点击两次按钮
- 点击事件触发两次按钮内链接