من این حلقه for را متوجه نشدم یه توضیحی میدید
for(let elem of document.body.childNodes) { if(elem instanceof Element) { elem.onmouseleave = leaved; } }
سلام،
1. document.body.childNodes یک مجموعه از تمام elementهای داخل بدنه صفحه وب را برمی گرداند.
2. با حلقه for-of روی این مجموعه میچرخیم و elem هر بار یکی از این elementها را نگه میدارد.
3. با instanceof بررسی میکنیم elem یک Element( یک عنصر DOM) واقعی هست یا نه.
4. اگر بود، یک event listener روی آن میگذاریم تا وقتی موس از روی آن خارج شد، تابع leaved صدا زده شود.
5. و در نهایت روی تمام elementهای صفحه این event listener را اضافه میکند.
در کل، تابع leaved زمانی که کاربر موس را از روی هر عنصر DOM در body خارج میکند، اجرا میشود.