我已经尝试了多种方法来实现这一点,但无论我改变什么,它都无法正常工作。它在所选的第一个链接上完美运行。选择它的任何后续链接都不起作用,因为它加载到新页面而没有错误。
// get discounts for store
$('.store_link a').on('click', function(e) {
alert('yeah');
var $this = $(this);
var cat = $this.attr('data-cat');
var $optionSet = $('.categories > .option-set');
var storeDiscountURL = $this.attr('href');
var storeID = '.' + $this.attr('id');
//select relevant filter colour
$optionSet.find('.selected').removeClass('selected');
$('#nav li.' + cat + ' a').addClass('selected');
selector = '.second_page,' + storeID;
loadMoreItems(storeDiscountURL, 'secondpage', selector);
//remove infinate scroll
$container.infinitescroll('destroy');
return false;
});
echo "<div id=\"toggle-$id\" class=\"contenthover hide\">";
echo "<p class=\"store_link\"><a id =\"skid_$discount[skID]\" data-cat=\"$category\" href=\"index.php?curr=$_SESSION[curr]&skid=$discount[skID]\">View all discounts for this store</a></p> ";
</div>";
答案 0 :(得分:1)
我猜,点击链接TAG正在以任何方式添加或通过其他JS或jQuery插件进行更新。因此,选择器不适用于后续的'A'标记。你应该试试:
$('body').on('click', '.store_link a', function(e) {
....
....
});
选择器'body'应该是任何最接近的选择器,它在第一个DOM加载时间内始终存在。