2017-07-01 72 views
0

我試圖找出一種方法來委託的事件的未來,動態加載的元素使用。對的jQuery - 添加事件未來元素

我有一個按鈕(#鍵),這是目前在DOM被加載。

然後,新元素(讓我們給他們一個.newElement的類)動態加載到頁面中。

我想點擊'#button'並滾動到'.newElement'。

這可能嗎?

以下是我的頭是:

jQuery(document).on("click", '#button', function (e) { 
 
      jQuery(window).scrollTop(jQuery('.newElement').offset().top); 
 
     });

這不起作用,因爲#鍵不能在DOM中找到.newElement。

謝謝

+1

我要欺騙贊成https://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements接近這一點,但它似乎並不像它是一個適合。你不需要在#button上使用事件綁定,這就是你正在做的事情。請發佈[mcve],具體涉及如何添加'.newElement'。 – j08691

+0

你不能滾動到不在那裏的東西?當元素被插入時,獲取偏移量和滾動到它應該按照你的方式工作? – adeneo

+0

在單擊按鈕之前是否添加了具有類「.newElement」類的元素?你應該展示一個完整的工作示例,以便我們確定發生了什麼。 – RJM

回答

-1

試試這個。

jQuery("body").on("click", '#button', function (e) { 
      jQuery(window).scrollTop(jQuery('.newElement').offset().top); 
     }); 
+0

這只是改變哪個元素具有點擊處理程序,改變不會影響枯萎或不jQuery將找到一個元素與'newElement'類 –

+0

讓我知道這是否有幫助。 爲了更好的理解,爲你創建一個小提琴。 https://jsfiddle.net/o11ouj2e/4/ –