سلام
من یک سوالی ذهمنو مشغول کرده ک چرا در جی کوئری گاهی نام کلاس یک المنت رو ک مینویسم برای دسترسی بهش، شناسایی نمیشه المنت، ولی با $(document) که این کار رو میکنم شناسایی میشه
این اتفاق گاهی پیش میاد ، ب نظرم زمانی که اون المنت به صورت پیشفرض نبوده توی صفحه و بعدا ب دلایلی افزوده شده با کد هایی نمیشناسه بدون document ، قضیه چیه واقعا؟
توی دو حالت زیر فرق این دو کد چیه ؟ چرا یکی کار کنه یکی نه؟
البته میگم در شرایطی گاهی پیش میاد ک حالت دوم کار نمیکنه
$(document).on('click','.customers-suggest',function (){})
$('.customers-suggest').click(function (){})
چیزی که من فهمیدم :
چون jquery با بعضی از پلاگین ها سازگار نیست مثل datatable ،
و با $document دستوری شبیه addeventlistenr جاوااسکریپت اجرا میشه و ما میتونیم به همه اجزای DOM دسترسی داشته باشیم.
دلیل اصلیش هم همینه که شما گفتید چون یک المنت باید حتما موقعی که صفحه رندر میشه داخل صفحه وجود داشته باشه چون برای استفاده از jquery ما از ابتدای اسکریپت ها از دستور document.ready استفاده میکنیم که یعنی موقعی که صفحه کامل لود شد و اجزای صفحه ساخته شد(اجزایی که به صورت استاتیک هستند ) بیا و از این دستورات استفاده کن
سلام ، دقیقا قضیه همینی هست که اشاره کردید بهش ، من وقتی از ajax استفاده میکردم دیگه نمیتونستم یک المنت رو سلکت کنم و باید به صورت $document مینوشتم اون دستور رو.
البته یک جای دیگه هم این استفاده میشه داخلtable ها که حتما باید به جای $document آی دی table رو بدید یعنی محدوده ای که کلیک میشه رو تعیین کنید
اره دقیقا ، واسه جدول هم حتما باید tableid tbody رو بزنی بعد کلاس رو مشخص کنی که بشناسه اون المنت رو
ولی خب فرقش چیه دلیلش چیه
چیزی که من فهمیدم :
چون jquery با بعضی از پلاگین ها سازگار نیست مثل datatable ،
و با $document دستوری شبیه addeventlistenr جاوااسکریپت اجرا میشه و ما میتونیم به همه اجزای DOM دسترسی داشته باشیم.
دلیل اصلیش هم همینه که شما گفتید چون یک المنت باید حتما موقعی که صفحه رندر میشه داخل صفحه وجود داشته باشه چون برای استفاده از jquery ما از ابتدای اسکریپت ها از دستور document.ready استفاده میکنیم که یعنی موقعی که صفحه کامل لود شد و اجزای صفحه ساخته شد(اجزایی که به صورت استاتیک هستند ) بیا و از این دستورات استفاده کن
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟