2015-12-09 72 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是不是想添加一個點擊事件監聽器,他們正試圖*觸發*點擊事件。 –