PDA

View Full Version : The difference between ‘return false;’ and ‘e.preventDefault();’



ERIKA
یک شنبه 26 خرداد 1392, 23:06 عصر
با سلام
کسی هست مفهوم ‘e.preventDefault();’ و تفاوت اش با return false
را توضیح بده
من یک لینکی هم پیدا کردم اما متوجه منظورش نشدم

http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false
http://css-tricks.com/return-false-and-prevent-default/

mehdytux
دوشنبه 27 خرداد 1392, 04:31 صبح
ببین دوست عزیز سعی می کنم به زبان ساده توضیح بدم. e.preventdefault فقط جلوی اجرا شدن رفتار پیش فرض برای اون رویداد عمل می کنه به این معنی که اگه یک رویداد دو گیرنده داشته باشه مثل یک دکمه و یک فرم اگر ما روی دکمه کلیلک کنیم ابتدا رویداد کلیک به دکمه میرسه بعد به فرم . حالا وقی ما از e.preventdefault در رویداد کلیک دکمه استفاده کنیم از اجرا شدن رفتار پیش فرض دکمه جلوگیری می کنیم ولی با این حال رویداد به فرم نیز می رسه . یعنی اینکه e.preventdefault از انشعاب رویداد جلوگیری نمی کنه. ولی retuen false این کار رو انجام میده.
در ضمن برای شبیه سازی return false می بایست از دو کد زیر همراه هم استفاده کنیم.
e.preventDefault()
e.stopPropagation()