معرفی
جاوا اسکریپت یک زبان رویداد محور است و فوق العاده است. با این حال، مشکلی وجود دارد که زبان های سمت سرور وجود ندارند. «استاندارد» جاوا اسکریپت اصلاً خیلی استاندارد نیست. مشکل این است که توسعهدهندگان مرورگرهای وب باید استاندارد جاوا اسکریپت را به همان شیوه پیادهسازی کنند. آسان درست است؟ نه، متأسفانه دنیای واقعی و دنیای ایده آل دو جانور کاملاً جدا هستند.
در جاوا اسکریپت یک نیاز بسیار رایج این است که بتوانید از addEventListener استفاده کنید و با گذشت زمان این کار کمتر و کمتر می شود. اما اگر نیاز دارید که سایت شما از نسخه های قدیمی تر اینترنت اکسپلورر مزاحم پشتیبانی کند، باید از attachEvent استفاده کنید. چه دردسری!
همانطور که مطمئن هستم می دانید تعداد به ظاهر بی پایانی از کتابخانه های جاوا اسکریپت وجود دارد که درد و رنج پیوستن رویدادها را در جاوا اسکریپت از بین می برند. با این حال، به همان اندازه که این کتابخانهها عالی هستند، گاهی اوقات شما به همه ویژگیهای اضافی که با آنها عرضه میشوند نیاز ندارید.
مواقعی وجود دارد که تنها کاری که میخواهید انجام دهید این است که شنونده رویداد اضافه کنید، اما این خیلی دردناک است که میدانید هر بار که برای addEventListener / attachEvent کد مینویسید و بر اساس آن استفاده میکنید، خیلی دردناک است، بنابراین تصمیم گرفتم که یک هندلر برای این کار ایجاد کنم. کار خاصی که می تواند دوباره مورد استفاده قرار گیرد و بنابراین زندگی را بدون هزینه های کل کتابخانه جاوا اسکریپت کمی آسان تر می کند.
ابتدا کنترل کننده را با شما به اشتراک می گذارم سپس به شما نشان می دهم که چگونه از آن در کد خود استفاده کنید.
ابتدا باید یک فایل جاوا اسکریپت جدید ایجاد کنید. بنابراین در ویژوال استودیو به File > New > File (یا ctrl + shift + N) بروید و فایل JavaScript را از لیست انتخاب کنید.
سپس در آن فایل جاوا اسکریپت کد زیر را اضافه کنید:
- window.addingEvent = function (event, target, method) {
- if (target.addEventListener) {
- target.addEventListener(event, method, false);
- } else if (target.attachEvent) {
- target.attachEvent("on" + event, method);
- }
- }
تابع ما که ایجاد کرده ایم سه پارامتر دارد. رشته ای از رویداد، عنصر هدف و تابعی که باید اجرا شود. ما بررسی می کنیم که کدام عملکرد در مرورگر وب وجود دارد و همچنین "روشن" را به شروع رویداد برای اینترنت اکسپلورر اضافه می کند.
مطمئن شوید که فایل خود را ذخیره کرده اید، من با mine handler.js تماس گرفتم، اما شما می توانید فایل خود را هر طور که می خواهید صدا کنید.
اکنون می خواهیم عملکرد را آزمایش کنیم.
ابتدا باید یک صفحه HTML ایجاد کنید. اگر از ویژوال استودیو استفاده می کنید، می توانید با رفتن به File > New > File (یا ctrl + shift + n) یک صفحه Html ایجاد کنید. همانند فایلهای جاوا اسکریپت، میتوانید از یک ویرایشگر متن مانند notepad استفاده کنید. اگر از این گزینه استفاده می کنید، یک فایل جدید ایجاد کنید و نشانه گذاری زیر را اضافه کنید: