Sự kiện đổi màu javascript
Trình xử lý này được gán cho Nó không phải là một chút kỳ lạ? Nguyên tắc sủi bọt rất đơn giản Khi một sự kiện xảy ra trên một phần tử, đầu tiên nó sẽ chạy các trình xử lý trên đó, sau đó trên phần tử cha của nó, sau đó tất cả các tổ tiên khác Giả sử chúng ta có 3 phần tử lồng nhau Một cú nhấp chuột vào bên trong Vì vậy, nếu chúng tôi nhấp vào Quá trình này được gọi là "sủi bọt", bởi vì các sự kiện "bong bóng" từ yếu tố bên trong cho đến cha mẹ giống như bong bóng trong nước Hầu như tất cả các sự kiện bong bóng Từ khóa trong cụm từ này là “gần như” Chẳng hạn, một sự kiện Trình xử lý trên phần tử cha luôn có thể nhận thông tin chi tiết về nơi nó thực sự xảy ra Phần tử được lồng sâu nhất gây ra sự kiện được gọi là phần tử đích, có thể truy cập dưới dạng Lưu ý sự khác biệt từ Chẳng hạn, nếu chúng ta có một trình xử lý duy nhất Trong trình xử lý Kiểm tra nó ra Kết quả script. js thí dụ. css mục lục. html Có thể là Một sự kiện sủi bọt đi thẳng từ phần tử đích lên. Thông thường, nó đi lên cho đến Nhưng bất kỳ trình xử lý nào cũng có thể quyết định rằng sự kiện đã được xử lý đầy đủ và ngừng tạo bọt Phương pháp cho nó là Chẳng hạn, ở đây biến cố. stopImmediatePropagation() Nếu một phần tử có nhiều trình xử lý sự kiện trong một sự kiện, thì ngay cả khi một trong số chúng ngừng sủi bọt, thì những phần tử khác vẫn thực thi Nói cách khác, Để dừng hiện tượng bong bóng và ngăn các trình xử lý trên phần tử hiện tại chạy, có một phương thức Đừng ngừng sủi bọt khi không có nhu cầu Bong bóng là thuận tiện. Đừng dừng lại khi chưa có nhu cầu thực sự. rõ ràng và được nghĩ ra về mặt kiến trúc Đôi khi Ví dụ Thường không có nhu cầu thực sự để ngăn chặn bọt khí. Một nhiệm vụ dường như yêu cầu có thể được giải quyết bằng các phương tiện khác. Một trong số đó là sử dụng các sự kiện tùy chỉnh, chúng tôi sẽ đề cập đến chúng sau. Ngoài ra, chúng tôi có thể ghi dữ liệu của mình vào đối tượng Có một giai đoạn xử lý sự kiện khác được gọi là "chụp". Nó hiếm khi được sử dụng trong mã thực, nhưng đôi khi có thể hữu ích Sự kiện DOM tiêu chuẩn mô tả 3 giai đoạn lan truyền sự kiện Đây là hình ảnh, được lấy từ thông số kỹ thuật, của các giai đoạn chụp Đó là. đối với một lần nhấp vào Từ trước đến giờ chúng ta chỉ nói về sủi bọt, vì giai đoạn bắt giữ ít được sử dụng Trên thực tế, giai đoạn chụp là vô hình đối với chúng tôi, bởi vì các trình xử lý đã thêm bằng cách sử dụng thuộc tính Để nắm bắt một sự kiện trong giai đoạn nắm bắt, chúng ta cần đặt tùy chọn xử lý Có hai giá trị có thể có của tùy chọn Lưu ý rằng mặc dù chính thức có 3 giai đoạn, nhưng giai đoạn thứ 2 (“giai đoạn mục tiêu”. sự kiện đạt đến phần tử) không được xử lý riêng. trình xử lý trên cả hai giai đoạn chụp và bong bóng kích hoạt ở giai đoạn đó Hãy xem hoạt động của cả chụp và tạo bọt Mã đặt trình xử lý nhấp chuột trên mọi thành phần trong tài liệu để xem cái nào đang hoạt động Nếu bạn bấm vào Xin lưu ý, Có một thuộc tính Để loại bỏ bộ xử lý, Nếu chúng ta Người nghe trên cùng một phần tử và cùng một giai đoạn chạy theo thứ tự đã đặt của chúng Nếu chúng ta có nhiều trình xử lý sự kiện trong cùng một giai đoạn, được gán cho cùng một phần tử với Phương thức Nói cách khác, thông thường, sự kiện sẽ đi xuống trước (“bắt giữ”) và sau đó đi lên (“sủi bọt”). Nhưng nếu Khi một sự kiện xảy ra – phần tử lồng nhau nhất nơi nó xảy ra sẽ được gắn nhãn là “phần tử mục tiêu” ( Mỗi trình xử lý có thể truy cập Bất kỳ trình xử lý sự kiện nào cũng có thể dừng sự kiện bằng cách gọi Giai đoạn bắt giữ rất hiếm khi được sử dụng, thông thường chúng tôi xử lý các sự kiện trên bong bóng. Và có một lời giải thích hợp lý cho điều đó Trong thế giới thực, khi một tai nạn xảy ra, chính quyền địa phương phản ứng đầu tiên. Họ biết rõ nhất khu vực nơi nó xảy ra. Sau đó chính quyền cấp cao hơn nếu cần Tương tự cho xử lý sự kiện. Mã đặt trình xử lý trên một phần tử cụ thể biết chi tiết tối đa về phần tử đó và chức năng của nó. Người xử lý trên một Tạo bong bóng và ghi lại đặt nền tảng cho “ủy quyền sự kiện” – một mô hình xử lý sự kiện cực kỳ hiệu quả mà chúng ta sẽ nghiên cứu trong chương tiếp theo |