⊗jsPmOEUED 432 of 505 menu

Ủy quyền sự kiện phổ quát trong JavaScript

Đoạn mã được trình bày trong bài học trước thì hoạt động, tuy nhiên, không phải không có thiếu sót. Hãy cùng phân tích những thiếu sót này và viết một giải pháp phổ quát hơn.

Thiếu sót trong mã của chúng ta sẽ thể hiện trong trường hợp, khi bên trong li có các thẻ lồng nhau. Trong trường hợp của chúng ta, giả sử đó là các thẻ i:

<ul> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> <li>item <i>italic</i> item</li> </ul>

Trong trường hợp này, nhấp vào thẻ i sẽ dẫn đến việc thêm dấu chấm than vào cuối thẻ i, chứ không phải thẻ li, như chúng ta mong muốn - bởi vì event.target là thẻ mà sự kiện xảy ra chính xác tại đó.

Có thể giải quyết vấn đề bằng phương thức closest:

list.addEventListener('click', function(event) { let li = event.target.closest('li'); if (li) { li.innerHTML = li.innerHTML + '!'; } });

Hãy lặp lại giải pháp đã trình bày.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối