JQuery - on()点击第二次不起作用

时间:2014-01-03 12:59:18

标签: jquery onclick

我已经尝试了多种方法来实现这一点,但无论我改变什么,它都无法正常工作。它在所选的第一个链接上完美运行。选择它的任何后续链接都不起作用,因为它加载到新页面而没有错误。

        // 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>";

1 个答案:

答案 0 :(得分:1)

我猜,点击链接TAG正在以任何方式添加或通过其他JS或jQuery插件进行更新。因此,选择器不适用于后续的'A'标记。你应该试试:

$('body').on('click', '.store_link a', function(e) { 
    ....
    ....
});

选择器'body'应该是任何最接近的选择器,它在第一个DOM加载时间内始终存在。