2015-12-09 41 views
0

我含量的变化,我想那滚动的200像素后触发点击的元素。触发一次点击事件动态装载Ajax内容

$(window).scroll(function() { 
    if($(window).scrollTop() > 200){ 
    $(".element")[0].click(); 
    } 
} 

但是,这不适用于更改内容。在第一次加载它的作品。但是,只要阿贾克斯这么做,事情就不会再发生。有任何想法吗?我知道关于事件,但不知道如何在这里使用它。

更新

链接的问题,并不能帮助我:

$(staticAncestors).on(eventName, dynamicChild, function() {}); 

这个作品点击或其他事件。但我不想附加一个点击事件,我想触发一个点击事件。我怎么能这样做?更改是在我无法控制的ajax调用中,所以我无法添加回调。

感谢

+0

所以它的工作原理,当元素*不*动态装?也许一个例子将是有益的.. –

+0

当你说这是行不通的,具体是什么并不了解它的工作 - 即它不点击,正确的元素不点击,点击的元素ISN的事件” t fired ... etc – Pete

+0

您如何更改您的内容以及内容的加载位置?身体?一些例子有帮助。 –

回答

0

this answer,您使用find()方法看一个静态的祖先元素的后代元素:

$('#someStaticAncestorElement').find('.element')[0].click(); 
0

当你想一起玩的项目/对象并不在那里的第一个负载的JavaScript变得有点混乱。

深入浅出的jQuery/JS语言才真正可以适用于在页面加载的对象。

解决这个问题的最简单方法是delegte功能,那是永远存在的页面加载一个HTML元素。大多数人通常使用<body>

如:

$(window).scroll(function() { 
    if($(window).scrollTop() > 200){ 
    $("body").delegate($(".element")[0], "click", function() { 
     // Your Code Here 
    }); 
    } 
} 
+0

的OP是不是想添加一个点击事件监听器,他们正试图*触发*点击事件。 –