jQuery代码第一次工作,第二次只在页面刷新后工作

时间:2015-11-30 16:50:41

标签: jquery ajax

我有一个jquery代码来加载页面中的数据。此代码中有关分页的部分在第一次工作,第二次仅在页面刷新后才起作用。

- 第一次点击分页中的页面链接时,jquery代码正常工作,并且调用了ajax查询。

- 当我点击分页页面的链接时,seconde时间被忽略,并且分页中的链接作为一个简单链接工作,好像没有jquery代码。

multiprocessing

3 个答案:

答案 0 :(得分:6)

如上所述,这是因为您正在动态加载内容;您的活动尚未受此内容约束。

尝试更改

$("ul#pagination a").on('click', function (e) {

$(document).on('click', "ul#pagination a", function (e) {

这会将事件绑定到动态创建的元素。

答案 1 :(得分:1)

如果动态插入这些链接,您可能希望使用事件委派来附加事件。

$("#mydiv").on('click', 'ul#pagination a', function (e) {});

这会将事件附加在更高的元素上,该元素在被删除和插入并且丢失附加事件时不会随时间而变化。并且该事件将被委托给随时间动态变化的元素。

答案 2 :(得分:1)

在动态生成dom元素时绑定事件时应使用$(document).on(events,selector,handler)。我认为以下代码可以解决您的问题。

 $(document).on('click','#ul#pagination a',function(e){
        e.preventDefault();
        $('ul#pagination li.active').removeClass("active");
        var route = $(this).attr('href');
        window.history.pushState(null, "Title", route);
        return loadPage(route);
});

有关详细信息,您还可以查看此链接http://api.jquery.com/on/

有关详细说明,您还可以查看此问题的答案How does jQuery.on() work?