【问题标题】:Jquery Waypoints Using ON使用 ON 的 Jquery Waypoints
【发布时间】:2013-04-16 15:09:56
【问题描述】:

我陷入了使用 ajax 将航点注入回 dom 的情况。这些新元素不会触发在 dom 更改之前创建的现有航路点。

有没有办法将 jquerys On 事件与航点一起使用?

我正在使用航点 2.0.2 http://imakewebthings.com/jquery-waypoints/ 我正在尝试做的一个示例是,重新插入仍然可以使用应用于 .waypoint 指定元素的航点方法的航点

我遇到的问题是,在我插入要作为航点的新 div 后,它们不会触发。

当你在 dom 加载一次后动态插入一个附加了 click 函数的元素时会发生类似的问题,你不能使用 .click,你使用 .on("click, "element", function() .

实现此功能的一种方法是使用以下方法在航点内重新创建航点:

(".nacho").waypoint(函数(方向)

除了在我的情况下这不起作用的原因是所有先前触发或滚动过去的航点都会触发。

<div class="nacho">

</div>
<script>
$(document).ready(function(){
    $("body").on("waypoint", ".nacho", function(event){

    //alert("test");

    });

    $(".nacho").waypoint(function(direction){
    alert("test");
        $("body").append("<div class=nacho>html to force the window down</div>");
    } , { offset: "bottom-in-view" });


});
</script>

我尝试将航点 nacho 重新插入到 dom 中,这样做之后,即使打开,航点也不会触发。

【问题讨论】:

  • 你试过了吗?似乎很明智。
  • 好的,为了让您的问题得到解答,我们需要了解以下内容:1. 您尝试了什么,2. 结果是什么,以及 3. 您真正想要什么结果。具体一点。
  • 当您使用航点并将新航点注入 dom 时,已存在的航点可以正常运行,新插入的元素不会触发已分配航点类的新插入元素。类似于使用 click 函数注入 href,因此使用 use on 作为 click 函数,以便能够针对新的 dom 元素调用该函数。我想为航点尝试同样的方法
  • 编辑您的问题。向我们展示您的代码,以便我们了解您在说什么。

标签: javascript jquery jquery-waypoints


【解决方案1】:

更新 DOM 后,发出刷新:

$.waypoints('refresh')

文档:http://imakewebthings.com/jquery-waypoints/#docs

$.waypoints('刷新')

这将强制根据其偏移选项重新计算每个航点的触发点。每当调整窗口大小或添加新航点时,都会自动调用此方法。如果您的项目正在更改 DOM 或页面布局而没有执行这些操作之一,您可能需要手动调用它。

【讨论】:

  • 感谢您指出这一点。我尝试使用此刷新,目前,它似乎陷入了循环。我可能是错的,但我认为刷新过去触发的触发航点。我将努力尝试使用此刷新并发布进度
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-23
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多