分页的jQuery.ajax()问题
我正在使用magento作为我的CMS,试图实现用于分页的ajax 我现在有两页,结构是这样的分页的jQuery.ajax()问题,jquery,ajax,pagination,magento-1.6,Jquery,Ajax,Pagination,Magento 1.6,我正在使用magento作为我的CMS,试图实现用于分页的ajax 我现在有两页,结构是这样的 <div class="pager"> <div class="pages"> <strong>Page:</strong> <ol> <li class="current">1</li> <li>
<div class="pager">
<div class="pages">
<strong>Page:</strong>
<ol>
<li class="current">1</li>
<li>
<a href="http://localhost/Bakestore/index.php/tools.html?p=2" class="pageLinks">2</a></li>
<li class="pager_next_img">
<a class="next i-next pageLinks" href="http://localhost/Bakestore/index.php/tools.html?p=2" title="Next">
<img src="http://localhost/Bakestore/skin/frontend/default/Bakestore_Theme/images/pager_arrow_right.gif" alt="Next" class="v-middle">
</a>
</li>
</ol>
</div>
</div>
当我点击第2页
时,它可以正常工作,但是当我点击第1页
时,页面会从第2页重新加载。现在,当我再次点击第2页时,它工作正常
我调试了我的jQuery,遗憾的是,事件$j(“.pageLinks”)。单击
根本不会被解雇(当我单击第1页时)
知道我哪里出错了吗?返回的html包含分页链接?
如果是这种情况,您需要将.click(function(){
更改为.live('click',function(){
click仅将现有元素绑定到该事件处理程序。live也会执行相同的操作,但尚未存在的元素除外
live确实不推荐使用。如果您使用的是1.7,我认为您不是。您应该将其更改为
$(document).on('click', ".pageLinks", function(){
});
好的,这是可行的,你能解释一下为什么这样做吗?谢谢,我会接受答案:)注意,在jQuery 1.7+中不推荐使用,但如果它适用于你的版本,好的。你可以使用jQuery 1.7中引入的.on()来代替.live().P中有一些示例,说明哪些版本支持并应该使用.live
、.delegate
和。on
:P感谢编辑Funky。原因是.click()不起作用,因为在AJAX调用完成时移除类时,事件被取消索引。on()和先前的bind()将事件绑定到提供的选择器,无论您是移除类还是移除元素,然后再次添加它都无关紧要。至少这是我理解它的方式(几个月前我问过同样的问题)
$(document).on('click', ".pageLinks", function(){
});