2016-05-03 11 views
5

この問題に関するいくつかの同様の質問がありますが、私は解決策のどれも私を助けないことを知っています。AngularJSウィンドウのスクロールイベントは発生しません

私はAngularJSを使用しており、スクロールイベントを検出したいと考えています。私はイベントを取得する方法のバージョンをたくさん試しましたが、たいていは最初にロードされたときに起動します。

私が試した私の最後のコードは以下の通りであった:

$($window).on('scroll', alert('scrolled')); 

しかし、私はまた、この試みた:

などがありますが、何も機能しません。

誰かが私の間違ったことを教えてもらえますか?

更新:私はディレクティブのものを試しましたが、これはサファリで完璧にうまくいきますが、クロムはありません。どうしたの?

Update2:シフトキーを使用しているときはクロムモバイルビューで動作します。リンゴのトラックパッドにクロムの制限はありますか? WTF?

+0

を使用することができます。コントローラー、ディレクティブリンクなどでコードを投稿できますか? – Red2678

+0

イベントリスナーを追加している時点では、おそらく準備ができていません。ディレクティブのリンクメソッドでそれを追加すればうまくいくはずです。この[あなたの質問](http://stackoverflow.com/questions/20253322/angular-js-scroll-window)への答えを見てください。 – AWolf

答えて

2

私はそれはあなたがこのコードを使用している場所に依存ことができると思う私はちょうど

$(window).scroll(function() { alert('scrolled') }) 

を使用するか、

angular.element($window).bind("scroll", function(e) { 
    alert('scrolled') 
}) 
+1

Angularには、angle.elementを使用したjqueryの機能がいくつか組み込まれています –

+2

これは便利です:http://jsfiddle.net/88TzF/ –

+0

これはChromeではなくSafariで動作します。なぜこれがそう&どのようにそれを修正するか、任意のアイデア? – threxx

関連する問題