Phương thức off trong jQuery
Việc gỡ bỏ các sự kiện đã được liên kết thông qua
on,
được thực hiện bằng phương thức
off.
Tham số đầu tiên của nó nhận loại sự kiện
(ví dụ: 'click'), và tham số thứ hai - tên
hàm cần được gỡ bỏ.
Hãy xem xét ví dụ sau. Giả sử chúng ta có mã HTML:
<ul>
<li>văn bản</li>
<li>văn bản</li>
<li>văn bản</li>
</ul>
Trong CSS có chỉ định kiểu cho thẻ li:
li {
width: 100px;
cursor: pointer;
}
Hãy làm sao để sau lần nhấp chuột đầu tiên
vào li, sự kiện sẽ bị gỡ bỏ khỏi nó:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Hãy nhấp vào các mục danh sách. Bạn sẽ thấy rằng khi nhấn lại
vào cùng một mục danh sách thì không có gì xảy ra, bởi vì
hàm func của chúng ta sau khi thực thi phương thức
append
sẽ bị gỡ bỏ bởi phương thức off.
Gán sự kiện cho tất cả các liên kết - khi
di chuột qua liên kết, href của nó
sẽ được thêm vào cuối văn bản của nó
trong ngoặc đơn. Sau lần di chuột đầu tiên qua liên kết,
cần gỡ bỏ sự kiện khỏi nó, sự kiện mà
đã thêm href vào cuối văn bản.
Đối với tất cả các input, hãy làm sao để chúng
hiển thị value của chính mình khi
nhấn vào bất kỳ input nào, nhưng chỉ ở
lần nhấn đầu tiên. Việc nhấn lại vào
input không được gây ra phản ứng.
Cho các đoạn văn chứa số. Khi nhấp vào đoạn văn thì trong nó sẽ xuất hiện bình phương của số mà nó chứa, nhưng chỉ ở lần nhấp đầu tiên. Khi nhấp đúp vào đoạn văn thì số trong đoạn văn phải tăng gấp đôi, nhưng cũng chỉ lần đầu tiên.