[英]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.