2011-10-18 37 views

Trả lời

18

Đặt bubbles thành false nghĩa là sự kiện không làm bong bóng lên danh sách hiển thị.

stopPropagation()stopImmediatePropagation() đặt người nghe sự kiện hiện tại là người cuối cùng xử lý sự kiện.

Sự khác biệt giữa stopPropagation()stopImmediatePropagation()stopImmediatePropagation() sẽ không chỉ ngăn sự kiện chuyển sang nút tiếp theo mà còn ngăn mọi người nghe khác trên nút đó chụp lại sự kiện của họ.

3

Nhìn vào ví dụ:

object.addEventListener(MouseEvent.CLICK, functionOne); 

object.addEventListener(MouseEvent.CLICK, functionTwo); 

Nếu functionOne chứa event.stopPropagation(), functionTwo sẽ được gọi là tốt. Nếu nó chứa event.stopImmediatePropagation(), functionTwo sẽ bị bỏ qua.

33

Thông tin tìm thấy tại bài viết này - Introduction to event handling in ActionScript 3.0 minh họa và dễ hiểu hơn. Nó sẽ nâng cao câu trả lời được chấp nhận ở trên bởi @Jason Sturges.

Sự kiện bong bóng và sự kiện chụp là hai khuôn mặt của sự kiện. Nếu bạn đặt event.bubbles thành false có nghĩa là sự kiện được đánh dấu là sự kiện không sủi bọt.

bong bóng: Cho biết sự kiện có phải là sự kiện bong bóng (và chụp) hay không. Điều này không có nghĩa là sự kiện đã trải qua hoặc đang trải qua giai đoạn chụp hoặc bong bóng, mà đúng hơn là một sự kiện có thể xảy ra.

Hình ảnh bên dưới (từ bài viết trên) cho biết sự kiện diễn ra như thế nào.

Event capturing and bubbling

Sự khác biệt của stopPropagation()stopImmediatePropagation() sẽ được rõ ràng hơn trong hình ảnh sau.

StopPropagation:

stopPropagation

StopImmidiatePropagation:

stopImmediatePropagation

+0

đẹp liên kết. sẽ trải qua nó ... –

+0

Câu trả lời hay và nguồn là Adobe. Câu trả lời được chấp nhận đã không giúp gì cả:/ – Bitterblue

+1

@BattleCity 'Câu trả lời được chấp nhận không giúp gì cả: /' vẫn có 10 phiếu bầu? ;) Anh ấy trả lời cùng ngày khi cần thiết. Câu trả lời này cũng tốt, tôi đã bình chọn nó. –

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