2010-10-25 21 views
2

我有一個函數,當滾動條擊中底部時觸發。出於某種原因,IE現在兩次發射該事件。之前沒有這樣做。我沒有重複的函數,也沒有JS聲明兩次。在Opera,FF,Chrome中很好。我不知道爲什麼它在IE中這樣做。哦,我討厭M $和這個麻煩的瀏覽器。jQuery函數在IE中被激發兩次...?

jQuery(document).ready(function(){   
     jQuery(window).scroll(function(){ 
      if (jQuery(window).scrollTop() == jQuery(document).height() - jQuery(window).height()){ 
       scrollPost(); 
      } 
     }); 

    }); 

編輯:其實它也是Safari的雙重發帖。另一個瀏覽器,我不喜歡。

+0

你是說它沒有做過。什麼? – 2010-10-25 07:10:47

+0

我改變了我的ajax的文件和方法。它現在使用純jQuery做一個正常的ajax調用。問題不在於scrollpost();函數調用上述函數。這是它在觸碰底部時調用兩次滾動函數。所以它執行的過程不是問題。我沒有改變我的任何JS文件或jQuery版本。 – 2010-10-25 07:16:47

+0

這個問題可能是在jquery scroll()包裝器中。我沒有IE來調試它,如果看起來正確,我只是在我的測試中得到scrollPost觸發一次 – 2010-10-25 07:39:04

回答

3

我在這裏找到了解決方案。

Jquery scroll hits twice on IE

顯然,IE和Safari已知此問題。我不得不使用去抖動方法來防止它發射兩次。 我用Ben Alman的dotimeout plugin,它完美地解決了IE和Safari的問題。