Skip to content

Commit dd2e2b9

Browse files
authored
Update article.md
1 parent 5122f74 commit dd2e2b9

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

2-ui/2-events/05-dispatch-events/article.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,9 @@ alert(event.clientX); // undefined, the unknown property is ignored!
156156
}));
157157
</script>
158158
```
159-
ویژگی "detail" می تواند هر داده ای را داشته باشد. از نظر فنی می‌توانیم بدون آن زندگی کنیم، زیرا می‌توانیم هر ویژگی را پس از ایجاد یک شی `new Event` معمولی به آن اختصاص دهیم. اما `CustomEvent` فیلد `detail` ویژه ای را برای جلوگیری از conflicts با سایر properti های رویداد فراهم می کند.
159+
ویژگی `detail` می تواند هر داده ای را داشته باشد. از نظر فنی می‌توانیم آن را تنظیم نکنیم، زیرا می‌توانیم هر ویژگی را پس از ایجاد یک شی `new Event` معمولی به آن اختصاص دهیم. اما `CustomEvent` فیلد `detail` ویژه ای را برای جلوگیری از conflicts با سایر property های event فراهم می کند.
160160

161-
162-
علاوه بر این، event class توضیح می‌دهد که «چه نوع رویدادی» است، و اگر event is custom است، باید از `CustomEvent` استفاده کنیم تا مشخص شود که چیست.
161+
علاوه بر این، کلاس event توضیح می‌دهد که «چه نوع رویدادی» است، و اگر event سفارشی باشد، باید از `CustomEvent` استفاده کنیم تا مشخص شود که چیست.
163162

164163
## event.preventDefault()
165164

@@ -173,7 +172,7 @@ alert(event.clientX); // undefined, the unknown property is ignored!
173172

174173
بیایید یک مثال عملی ببینیم - یک خرگوش پنهان (ممکن است منوی بسته شدن یا چیز دیگری باشد).
175174

176-
در زیر می‌توانید یک تابع #rabbit and hide() را مشاهده کنید که رویداد "hide" را روی آن ارسال می‌کند تا به همه علاقه‌مندان اطلاع دهد که خرگوش قرار است مخفی شود.
175+
در زیر می‌توانید یک element با آیدی `#rabbit` و یک تابع `hide()` را مشاهده کنید که رویداد `"hide"` را روی آن ارسال می‌کند تا به همه علاقه‌مندان اطلاع دهد که خرگوش قرار است مخفی شود.
177176

178177
هر کنترل‌کننده‌ای می‌تواند با `rabbit.addEventListener('hide',...)` به آن رویداد گوش دهد و در صورت نیاز، عمل را با استفاده از `event.preventDefault()` لغو کند. سپس خرگوش ناپدید نمی شود:
179178

@@ -207,7 +206,7 @@ alert(event.clientX); // undefined, the unknown property is ignored!
207206
</script>
208207
```
209208

210-
نکته: event حتما باید flag `cancelable: true` را داشته باشد یا اینکه `event.preventDefault()` فراخوانی نمیشود.
209+
نکته: event حتما باید `cancelable: true` را داشته باشد یا اینکه `event.preventDefault()` فراخوانی نمی شود.
211210

212211
## Events-in-events are synchronous
213212

@@ -217,7 +216,7 @@ alert(event.clientX); // undefined, the unknown property is ignored!
217216

218217
به عنوان مثال، در کد زیر، رویداد `menu-open` در حین کلیک فعال می شود.
219218

220-
بلافاصله پردازش می شود، بدون اینکه منتظر پایان کنترل کننده `onclick` باشد:
219+
بدون اینکه برای هندلر `onclick` صبر کند تا تمام شود، پردازش می‌ شود:
221220

222221
بدون اینکه برای `onclick` هندلر صبر کند تا تمام شود، شروع به process شدن میشود:
223222

@@ -248,7 +247,7 @@ alert(event.clientX); // undefined, the unknown property is ignored!
248247

249248
بیایید بگوییم که آن را دوست نداریم. ما می خواهیم ابتدا `onclick` به طور کامل پردازش شود، مستقل از `menu-open` یا هر رویداد تو در تو.
250249

251-
سپس می‌توانیم `dispatchEvent` (یا یک تماس event-triggering) را در انتهای `onclick` قرار دهیم یا، شاید بهتر، آن را در `setTimeout` با تاخیر صفر قرار دهیم:
250+
سپس می‌توانیم `dispatchEvent` (یا یک فراخوانی event-triggering) را در انتهای `onclick` قرار دهیم یا، شاید بهتر، آن را در `setTimeout` با تاخیر صفر قرار دهیم:
252251

253252
```html run
254253
<button id="menu">Menu (click me)</button>
@@ -269,11 +268,11 @@ alert(event.clientX); // undefined, the unknown property is ignored!
269268
```
270269
حالا `dispatchEvent` یه صورت asynchronously بعد از اینکه اجرای کد فعلی به اتمام رسید، run میشود، که شامل `menu.onclick`. پس event handler ها به صورت جدت و مستقل فعالیت میکنند.
271270

272-
خروجی خ.اهد بود:1 -> 2 -> nested.
271+
خروجی به این ترتیب خواهد بود: 1 -> 2 -> nested.
273272

274273

275274

276-
## Summary
275+
## خلاصه
277276

278277
برای تولید یک event code، ابتدا باید یک event object ایجاد کنیم.
279278

0 commit comments

Comments
 (0)