【问题标题】:Retrigger my jquery function on ajax load在 ajax 加载时重新触发我的 jquery 函数
【发布时间】:2013-07-07 19:24:24
【问题描述】:

我已经构建了一个可以在文档上运行的插件

$("#pagecontainer").gumbyPageTransition();

我有一个 JQuery 插件将所有带类 pageref 的 href 绑定到点击事件。

$("a.pagehref").on('click', function(event){.....

当用户单击 href:s 时,该函数通过 ajax 加载页面。在函数结束时,我再次调用它来重新加载插件:

....
$("#pagecontainer").gumbyPageTransition(); //To bind click events on the newly loaded page

我的问题是,在某些页面上,我通过点击事件将数据加载到 ul li:s 中,而这些不会被点击函数绑定。

换句话说:

  1. 我在文档中运行我的插件,准备绑定点击事件以通过 ajax 加载页面
  2. 当我获取一个页面时,我再次运行我的插件以将页面 href 绑定到我的插件(以获取更多页面)
  3. 加载页面时,会触发“pageloaded”功能。在页面加载时,我有时会更新列表(ul li)。该列表包含我需要绑定的 href。我需要一个类似于 .listview('refresh'); 的函数;在 jquery 移动端。我该怎么做?

谢谢

【问题讨论】:

    标签: jquery ajax document ready


    【解决方案1】:

    您应该在树的更上方附加.on,并指定一个选择器(用于现有和未来的元素)作为可选参数。

    而不是

    $('a.pagehref').on('click', function(event)
    {
        // ...
    });
    

    .on 附加到document

    $('document').on('click', 'a.pagehref', function(event)
    {
        // ...
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 2020-05-05
      • 2017-06-04
      • 1970-01-01
      相关资源
      最近更新 更多