【发布时间】:2023-03-22 12:25:02
【问题描述】:
我正在使用 jQuery 2.1.1,并且一直在使用它来向从数据库返回的行添加“可点击”:
<script type="text/javascript">
jQuery( function($) {
$('tbody tr[data-href]').addClass('clickable').click( function() {
window.location = $(this).attr('data-href');
});
});
</script>
一直运行良好。我现在添加了 jquery-ias (2.1.2),并且只有返回结果的第一页有可点击的行。
我的jquery-ias代码如下:
<script type="text/javascript">
$(document).ready(function() {
// Infinite Ajax Scroll configuration
jQuery.ias({
container : '.wrap', // main container where data goes to append
item: '.item', // single items
pagination: '.nav', // page navigation
next: '.nav a', // next page selector
negativeMargin: 250,
});
});
</script>
Jquery-ias 工作正常,页面根据需要加载,但结果行不可点击。
在 Chrome 中检查页面显示随后加载的行没有添加 clickable 属性。
php中的相关行是这样的:
<tr class='resultsrow item' <?php echo "data-href='carddetail.php?setabbrv={$row['setcode']}&number={$row['number']}&id={$row[1]}'"; ?>>
如果我使用其中任何一个都可以正常工作,但我如何让它们一起玩得很好?
编辑.....
好的,我已经使用 jquery-ias 内置的 pageChange 事件解决了这个问题。
jQuery.ias().on('pageChange', function(pageNum, scrollOffset, url) {
var delay=1000;
setTimeout(function(){
jQuery( function($) {
$('tbody tr[data-href]').addClass('clickable').click( function() {
window.location = $(this).attr('data-href');
});
});
},delay);
});
这样,当 ias 发现页面更改时,它会等待一秒钟以加载页面结构,然后应用可点击类。
如果它正在等待图像,我看不到它的工作原理......在这种情况下不必这样做,但必须有更好的方法来做到这一点。
任何指针?
【问题讨论】:
标签: jquery-ias