簡體   English   中英

使用動態加載的內容觸發點擊事件

[英]Trigger a click event with dynamically loaded content

我的內容隨着ajax的變化而變化,我希望在滾動200px后觸發對元素的點擊。

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

但這不適用於更改內容。 首次加載時有效。 但是,一旦ajax生效,該事件就不再觸發。 有任何想法嗎? 我知道on事件,但無法在這里弄清楚如何使用它。

更新資料

鏈接的問題對我沒有幫助:

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

這適用於點擊或其他事件。 但我不想附加點擊事件,我想觸發點擊事件。 我該怎么辦? 更改發生在我無法控制的ajax調用中,因此我無法添加回調。

謝謝

當您嘗試使用第一次加載時不存在的項目/對象時,JavaScript會有些混亂。

簡單來說,jQuery / JS語言只能真正應用於頁面加載時的對象。

解決此問題的最簡單方法是將函數委派給頁面加載中始終存在的HTML元素。 大多數人通常使用<body>

例如:

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

根據此答案 ,您可以使用find()方法查看靜態祖先元素的后代元素:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM