دسته بندی ها
18:54 1402/01/27

کاربرد دستور preventDefault در Jquery چیست ؟

مشخصات سوال کننده :
کاربر : android     امتیاز کاربر : 25     رتبه کاربر : 28
دسته بندی : جاوا اسکریپت جی کوئری

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2015
هوش مصنوعی

پاسخ هوش مصنوعی

دستور preventDefault() در جی کویری به منظور جلوگیری از رفتار پیش فرض یک رویداد استفاده می شود. به عبارت دیگر، زمانی که یک رویداد (مانند کلیک بر روی یک دکمه، ارسال یک فرم و غیره) در حال وقوع است، می توان با استفاده از این دستور از انجام عمل پیش فرض آن رویداد جلوگیری کرد.

برای مثال، وقتی بر روی یک دکمه ارسال فرم کلیک می شود، به طور پیش فرض فرم ارسال می شود و صفحه به روزرسانی می شود. اما با استفاده از e.preventDefault(); درون تابع رویداد، این رفتار متوقف می شود و می توانید کدهای جاوااسکریپت دلخواه خود را اجرا کنید بدون آنکه فرم ارسال شود.

در نمونه کدی که شما ارایه داده اید:

$("#btnAdd").on('click', function(e){
   e.preventDefault();
});

با استفاده از e.preventDefault();، هر زمان که دکمه با شناسه btnAdd کلیک شود، عمل پیش فرض آن متوقف می شود. این به شما این امکان را می دهد که بتوانید کنترل بیشتری بر روی رفتار دکمه و پیاده سازی عملکردهای دیگر خود داشته باشید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 11:50 1402/01/29

متد preventDefault وقتی استفاده میشه که می خواید یک المنت عملکرد ذاتی و پیش فرض خودش رو نداشته باشه. مثلا یک تگ a به طور پیش فرض و ذاتی یک لینک هست و باید دارای یک Url باشه. اما معمولا وقتی از دستورات JavaScript برای یک تگ a استفاده می کنیم مطمینا نمی خوایم با کلیک کردن روی اون لینک مستقیم به آدرس خاصی بریم و قبلش میخوایم مواردی رو چک کنیم پس از preventDefault استفاده می کنیم. مثال زیر رو دقت کنید:

<html>
   <input type='text' id='txt' />
   <a id='mybtn'>click me</a>
</html>

 

در مثال بالا یک تگ input داریم و یک تگ a. قصد داریم وقتی روی تگ a کلیک می کنیم قبل از هر چیز کنترل بشه که حتما در input مقداری وارد شده باشه :

<script>
   $('#mybtn').on('click', function(e){
      e.preventDefault();
      if (txt.length == 0)
      {
         alert('length is zero !!!');
      }
   });
</script>

می بینید که در اینجا از preventDefault استفاده شده.

در تگ form یا دکمه submit و ... هم می تونید قبل از اینکه عملیات ذاتی اون تگ انجام بشه استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود