۲ علی رضا خواجه موگهی
دلیل کار کردن دستور
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۱۳ دی ۱۴۰۱

با سلام و خسته نباشید

 jQuery(document).ready(function () {

من دستور زیر را خارج از محدوده دستور جیکوری فوق نوشتم و کار کرد دلیلش چی میتونه باشه ؟ آیا اصلا امکان پذیر هست ؟ و اگر هست ممکنه این اتفاق چه مشکلی را به وجود بیاورد ؟؟؟

 jQuery('#login-form').change(function (event) {
    alert('نام کاربری وارد شده اشتباه است ')

با سلام مجدد

بله کد شما خارج از دستور ready بودن صفحه هم اجرا خواهد شد.

اجازه دهید یک مورد خدمت شما عرض کنم که به نظر اشتباه متوجه شده اید » خط زیر:

 jQuery(document).ready(function () {

محدوده دستور جیکوری نیست! این خط کد به این معنی است که کدهای داخل این محدوده را زمانی در صفحه اجرا کن که تمامی عناصر document جاری لود شده باشند » به نوعی کد میگوید که کدهای من رو بعد از لود کامل صفحه اجرا کن که همه المان‌ها در دسترس من باشد.

شما اگر از این شرط استفاده نکنید اتفاقی که خواهد افتاد این هست که پردازشگر مرورگر به محض اینکه به کدهای jquery شما در صفحه رسید انهارا در همان لحظه اجرا می‌کند و منتظر نخواهد بود که باقی صفحه لود شود حال اگر کدهای js شما نیاز به یک المانی داشت که هنوز لود نشده بود شما خطا دریافت خواهید کرد! و کدها به درستی کار نمیکنند.

اما خط چرا خط کد بالا برای شما کار کرده است » اول اینکه احتمالا این کدها بعد از #login-form در صفحه لود شده است و اینکه شما از تابع change استفاده کرده اید یعنی وقتی فرم تغییر کرد.

امیدوارم متوجه شده باشید

بهترین پاسخ
بهنام مرادی ۱۴ دی ۱۴۰۱، ۰۸:۵۸

بله توضیحتون دقیق و رسا بود ممنون از وقتی که گداشتید

علی رضا خواجه موگهی ۱۴ دی ۱۴۰۱، ۱۰:۱۹

خواهش میکنم دوست عزیز

خوشحالم که تونستم کمکی کرده باشم

به امید موفقیت روز افزونتون

بهنام مرادی ۱۶ دی ۱۴۰۱، ۱۱:۳۰