我使用的是jQuery 2.1.1,并且一直使用它将'clickable‘添加到从数据库返回的行中,使用的是:
<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发现页面更改时,它会等待一秒钟以加载页面结构,然后应用clickable类。
如果它在等待图像,我看不到它的工作...在这种情况下不需要,但一定有更好的方法来实现。
有什么建议吗?
发布于 2014-10-01 23:03:46
更好的方法是使用rendered事件,例如:
jQuery.ias().on('rendered', function(item) {
var $items = jQuery(items);
$items.each(function() {
jQuery('tr[data-href]', $this).addClass('clickable').click(function() {
window.location = $(this).attr('data-href');
});
});
});https://stackoverflow.com/questions/25968491
复制相似问题