js function jpg Các hàm Javascript

Quảng cáo

Tinohost giảm 30% VPS/Hosting các bạn ạ. Đây là nhà cung cấp đứng top tại Việt Nam, xem tại đây

Hàm document.removeEventListener() trong Javascript

Phương thức removeEventListener() sẽ xóa bỏ một sự kiện đã được gán vào bởi phương thức document.addEventListener().

Để có thể xóa sự kiện, hàm xử lý sự kiện được truyền vào phương thức document.addEventListener() phải được định nghĩa ở bên ngoài phương thức document.addEventListener(). Nói cách khác, nếu hàm xử lý sự kiện truyền vào phương thức document.addEventListener() là một hàm vô danh(Anonymous functions có dạng document.removeEventListener("event", function(){ myScript }); ), phương thức removeEventListener() sẽ không thể xóa sự kiện( Tìm hiểu kỹ hơn ở phần cách sử dụng).

Quảng cáo

Nếu muốn thêm/xóa sự kiện cho một phần tử xác định, sử dụng phương thức element.addEventListener()element.removeEventListener().

Cú pháp

Cú pháp: document.removeEventListener(event, function, useCapture)

Trong đó:

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
  • event là một chuỗi đại diện cho sự kiện và không sử dụng tiền tố on. Ví dụ onclick thành click.
  • function là function sẽ bị loại bỏ.
  • useCapture là tham số không bắt buộc, xác định event phase được sử dụng để loại bỏ sự kiện:
    • Nếu mang giá trị true, sự kiện sẽ bị loại bỏ theo kiểu capturing phase.
    • Nếu mang giá trị false, sự kiện sẽ bị loại bỏ theo kiểu bubbling phase.

Cách sử dụng

Xóa bỏ hàm xử lý sự kiện mousemove của trang:

Quảng cáo

Code RUN
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <style type="text/css">
            #result{
                color: red;
                font-size: 20px;
                font-weight: bold;
            }
        </style>
    <body>
        <h1>Học lập trình miễn phí tại freetuts.net</h1>   
        <p id="result"></p>
        <button onclick="removeHandler()">Remove event</button>
        <script>
            document.addEventListener("mousemove", myFunction);
            function myFunction() {
                document.getElementById("result").innerHTML = Math.random();
            }

            function removeHandler() {
                document.removeEventListener("mousemove", myFunction);
            }
        </script>
    </body>
</html>

Hãy thử thay myFuntion() bằng một hàm ẩn danh và xem kết quả:

Code RUN
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <style type="text/css">
            #result{
                color: red;
                font-size: 20px;
                font-weight: bold;
            }
        </style>
    <body>
        <h1>Học lập trình miễn phí tại freetuts.net</h1>   
        <p id="result"></p>
        <button onclick="removeHandler()">Remove event</button>
        <script>
            document.addEventListener("mousemove", function() {
                document.getElementById("result").innerHTML = Math.random();
            });

            function removeHandler() {
                document.removeEventListener("mousemove", myFunction);
            }
        </script>
    </body>
</html>

Sau khi click button, sự kiện mousemove vẫn không bị loại bỏ, đúng với lưu ý mình đã để cập ở trên.

Tham khảo: w3schools.com

Quảng cáo

Các chủ đề liên quan:

Bài viết cùng chuyên mục:

Quảng cáo

Top