2016-07-27 7 views
1

はその後、5行5Scrollイベントには、機能に続き

行に定義されたカスタムイベントが二回起動する機能を引き起こしているように思わトリガー添付スクロールイベントを、持っている(一回でなければなりません)を2回トリガするカスタムイベントが発生します(削除された行4が1回印刷され、行5が2回印刷される場合)。

カスタムイベントは、その時点で2回しか発生しません。

this.on(window, 'scroll', function(event){ 
    var win = $(window); 
    if ($(document).height() - win.height() === win.scrollTop()) { 
     console.log('testing 123'); 
     this.trigger('uiHandlRequest', { type: 'foo' }); 
     return false; 
     }    
    }); 
+0

あなたはなぜ 'event.currentTarget'よりも、特定の要素のスクロールに興味があるなら[MCVE] –

+0

を作成してください? –

+0

が試されましたvar win = $(window); –

答えて

0

機能にタイマを追加します。

var timeout; 

this.scroll = function (event) { 
     clearTimeout(timeout) 
     timeout = setTimeout(function() { 
      var win = $(window); 
      if ($(document).height() - win.height() === win.scrollTop()) { 
      console.log('testing 123'); 
      this.trigger('uiHandlRequest', { type: 'foo' }); 
      return false; 
      } 
     },1000);    
     }; 
0

カスタムイベントをトリガしているときに 'this'ではなく 'window'を使用します。

this.on(window, 'scroll', function(event){ 
 
    var win = $(window); 
 
    if ($(document).height() - win.height() === win.scrollTop()) { 
 
     console.log('testing 123'); 
 
     window.trigger('uiHandlRequest', { type: 'foo' }); 
 
     return false; 
 
     }    
 
    });

関連する問題