2016-05-03 21 views
5

Tôi biết có một số câu hỏi tương tự liên quan đến vấn đề này, tuy nhiên tôi không có giải pháp nào có thể giúp tôi.Sự kiện cuộn cửa sổ AngularJS không kích hoạt

Tôi đang sử dụng AngularJS và muốn phát hiện sự kiện cuộn. Tôi đã thử rất nhiều phiên bản về cách để có được sự kiện này, tuy nhiên nhiều nhất là nó cháy khi lần đầu tiên được nạp rồi không bao giờ nữa.

đang cuối cùng của tôi, tôi đã cố gắng là như sau:

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

Nhưng tôi cũng đã cố gắng này:

và nhiều hơn nữa, nhưng không có gì hoạt động.

Có ai có thể nói cho tôi biết tôi đang làm gì sai không?

Cập nhật: Tôi đã thử những thứ chỉ thị, công trình này hoàn toàn tốt đẹp với Safari nhưng tuy nhiên không phải với chrome. Có chuyện gì thế?

Update2: Chế độ này hoạt động với chế độ xem Chrome dành cho thiết bị di động khi sử dụng phím shift. Có bất kỳ hạn chế nào đối với bàn di chuột từ chrome đến táo không? WTF?

+0

Tôi nghĩ rằng nó có thể phụ thuộc vào nơi bạn đang sử dụng mã này. Trong một bộ điều khiển, trong liên kết chỉ thị, vv Bạn có thể đăng thêm một số mã không? – Red2678

+0

Có lẽ dom không sẵn sàng tại thời điểm bạn thêm trình xử lý sự kiện. Thêm nó trong phương thức liên kết của chỉ thị và nó sẽ hoạt động. Vui lòng xem câu trả lời cho [SO câu hỏi này] (http://stackoverflow.com/questions/20253322/angular-js-scroll-window). – AWolf

Trả lời

2

Tôi chỉ sẽ sử dụng

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

HOẶC bạn có thể sử dụng

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

Góc có một số chức năng được xây dựng trong jquery sử dụng angular.element –

+2

Bạn có thể thấy điều này hữu ích: http://jsfiddle.net/88TzF/ –

+0

okay hoạt động với Safari, tuy nhiên KHÔNG với chrome. Bất kỳ ý tưởng tại sao điều này là như vậy và làm thế nào để sửa chữa nó? – threxx

Các vấn đề liên quan