2015-10-02 18 views
4

短版:這個工程不能觸發與滾動一個jQuery功能在特定的div

$(document).on("click",".Container",function(){}) 

這不:

$(document).on("scroll",".Container",function(){}) 

龍版本: 我很抱歉,但張貼代碼片段不可行,因爲它是一個複雜的類似應用程序的界面,但我會盡我所能解釋這個問題:

  • 根據屏幕房地產加載不同界面的移動響應網站。
  • 最小的界面由3部分組成 - 頂部導航,底部搜索和中間內容。
  • 內容大多在使用過程中加載,而不是在頁面加載時加載。
  • 當內容滾動時,我需要觸發一個函數,無論是向上還是向下滾動,而不僅僅是過了某個點。
  • 我仍然可以滾動,它只是不會觸發事件。
  • 我試過了所有我發現無濟於事的東西,從我的短期經歷以及我一直在閱讀的內容中,我認爲它可能與滾動不像點擊一樣泡出來一樣,但我有不知道我應該做什麼或嘗試使用這些信息。
  • 雖然它似乎沒有影響我的問題(刪除它並沒有解決問題)我應該透露我使用hammer.js模擬觸摸事件,因爲它可能會影響解決方案。

在此先感謝您的所有幫助。

除了這一點我會建議編輯沒有work--

+0

希望這個鏈接可以幫助你:http://stackoverflow.com/questions/21561480/trigger-event-when-user-scroll-to-specific-element-with-jquery – NightsWatch

+1

你可以捕捉或者滾動事件如果不需要支持IE8 < –

+2

看@A.Wolff的答案在這裏http://stackoverflow.com/questions/9253904/why-doesnt-delegate-work-for-scroll#answer-30476388 – Und3rTow

回答

0

從@A幫助。沃爾夫和@ M.Doye我發現了一些可行的方法。儘管至少它的工作無助於理解什麼是錯誤的。

document.addEventListener('scroll',function(event){ 
    if(event.target.className==='Container'){ 
     insert magic spell here 
    } 
},true); 
0

我想這是因爲scroll事件沒有泡沫,要添加監聽的授權,你應該直接添加:這個

$('.Container').on('scroll',function(){}); 

更多信息在: https://api.jquery.com/on/

+0

在絕望中我也嘗試過,但我認爲它不起作用,因爲內容在加載頁面後加載。 –