जवाबों:
अक्सर, घटना संचालकों में, जैसे कि onsubmit, झूठे लौटना घटना को वास्तव में आग न बताने का एक तरीका है। तो, कहते हैं, onsubmitमामले में, इसका मतलब यह होगा कि फॉर्म जमा नहीं किया गया है।
event.preventDefault()इस कार्यक्षमता के लिए उपयोग करना बेहतर है । मेरा मानना है कि असत्य को लौटाना पदावनत है और हमेशा काम नहीं करता है।
return falseविधि में होता है, क्या यह कुछ भी बदलता है?
मैं अनुमान लगा रहा हूं कि आप इस तथ्य का उल्लेख कर रहे हैं कि आपको अक्सर 'वापसी झूठी' डालनी होगी; अपने घटना संचालकों, यानी में बयान
<a href="#" onclick="doSomeFunction(); return false;">...
'झूठे लौटे?' इस स्थिति में ब्राउज़र को वर्तमान स्थान पर जाने से रोकता है, जैसा कि href = "#" द्वारा इंगित किया गया है - इसके बजाय, केवल doSomeFunction () निष्पादित किया जाता है। जब आप एंकर टैग में घटनाओं को जोड़ना चाहते हैं, तो यह उपयोगी है, लेकिन ब्राउज़र को प्रत्येक एंकर पर प्रत्येक क्लिक पर ऊपर और नीचे कूदना नहीं चाहिए
इसका उपयोग घटना के प्रसार को रोकने के लिए किया जाता है । जब आप एक क्लिक ईवेंट हैंडलर के साथ दोनों तत्व देखते हैं (उदाहरण के लिए)
-----------------------------------
| element1 |
| ------------------------- |
| |element2 | |
| ------------------------- |
| |
-----------------------------------
यदि आप आंतरिक तत्व (एलिमेंट 2) पर क्लिक करते हैं तो यह दोनों तत्वों में एक क्लिक ईवेंट को ट्रिगर करेगा: 1 और 2. इसे "ईवेंट बबलिंग" कहा जाता है। यदि आप ईवेंट 2 में केवल ईवेंट को हैंडल करना चाहते हैं, तो ईवेंट हैंडलर को इवेंट के प्रचार को रोकने के लिए गलत वापस लौटना होगा।
एक और उदाहरण लिंक ऑनक्लिक हैंडलर होगा। यदि आप एक लिंक फॉर्म को काम करना बंद करना चाहते हैं। आप एक ऑनक्लिक हैंडलर जोड़ सकते हैं और गलत वापस कर सकते हैं। डिफ़ॉल्ट हैंडलर के प्रचार से घटना को रोकने के लिए।
falseकिसी ईवेंट हैंडलर से लौटने पर किसी ईवेंट से जुड़ी डिफ़ॉल्ट कार्रवाई को रोका जा सकेगा; आप इसे कॉल event.preventDefault()या सेटिंग event.returnValue = false(IE) के माध्यम से भी कर सकते हैं ; घटना को बुदबुदाहट से रोकने के लिए, आपको कॉल करना होगा event.stopPropagation()या सेटिंग event.cancelBubble = true(IE)
मैं "js, जब 'गलत का उपयोग करता हूं;' की खोज के बाद भी इस पृष्ठ पर आया था; अन्य खोज परिणामों में एक ऐसा पृष्ठ था जो मुझे क्रिस कॉयर की सीएसएस-ट्रिक्स साइट पर कहीं अधिक उपयोगी और सीधा मिला,: 'झूठे झूठ;' के बीच का अंतर और 'e.preventDefault ();'
उनके लेख का सार है:
समारोह () {झूठी वापसी; }
// के बराबर है
function (e) {e.preventDefault (); e.stopPropagation (); }
हालाँकि मैं अभी भी पूरे लेख को पढ़ने की सलाह दूंगा।
अद्यतन: झूठे का उपयोग करने के गुण के तर्क के बाद; e.preventDefault () के प्रतिस्थापन के रूप में; & e.stopPropagation (); मेरे सहकर्मियों में से एक ने बताया कि झूठी वापसी भी कॉलबैक निष्पादन को रोकती है, जैसा कि इस लेख में उल्लिखित है: jQuery इवेंट्स: स्टॉप (मिस) रिटर्न फॉल्स का उपयोग करना ।
function() { return false; }IS EQUAL TO function(e) { e.preventDefault(); e.stopPropagation(); }, लेकिन शुद्ध js में, यह समान नहीं है, function() { return false; }IS EQUAL TO function(e) { e.preventDefault(); }वास्तव में। यह प्रचार बंद नहीं करता है।
मुझे लगता है कि एक बेहतर सवाल यह है कि ऐसे मामले में क्यों आप रिटर्न वैल्यू के बूलियन सेट का मूल्यांकन कर रहे हैं, क्या आप सही / गलत का उपयोग नहीं करेंगे ? मेरा मतलब है, आप शायद सच्चे / अशक्त, सच्चे / -1, अन्य मिसकैरेज कर सकते हैं। जावास्क्रिप्ट "मिथ्या" मूल्यों को स्थानापन्न करने के लिए, लेकिन आप ऐसा क्यों करेंगे?
जब आप एक एंकर टैग से जावास्क्रिप्ट कोड को ट्रिगर करना चाहते हैं, तो ऑन्कलिक हैंडलर का उपयोग जावास्क्रिप्ट के बजाय किया जाना चाहिए: छद्म प्रोटोकॉल। जावास्क्रिप्ट हैंडलर के भीतर चलने वाले जावास्क्रिप्ट कोड को सही या गलत (या सही या गलत के लिए evalues की तुलना में एक अभिव्यक्ति) वापस टैग पर वापस लौटना होगा - यदि यह सच है, तो लंगर की HREF को एक सामान्य लिंक की तरह पालन किया जाएगा। यदि यह गलत है, तो HREF को नजरअंदाज कर दिया जाएगा। यही कारण है कि "झूठे लौटें?" अक्सर कोड के अंत में एक ऑनक्लियर हैंडलर के भीतर शामिल किया जाता है।
जब एक फ़ंक्शन में रिटर्न स्टेटमेंट कहा जाता है, तो इस फ़ंक्शन का निष्पादन बंद हो जाता है। यदि निर्दिष्ट किया गया है, तो दिए गए मान फ़ंक्शन कॉलर को वापस कर दिया जाता है। यदि अभिव्यक्ति को छोड़ दिया जाता है, तो इसके बजाय अपरिभाषित लौटा दिया जाता है।
अधिक के लिए MDN डॉक्स पृष्ठreturn पर एक नज़र डालें ।
केवल तभी उपयोग करें जब आपके पास फंक्शन में कुछ वर्जन (कुछ परीक्षण द्वारा) हो या आप कुछ फंक्शन को रोकना चाहते हों, उदाहरण के लिए "एब्सबमिट"
इसके अलावा, https://www.w3schools.com/jsref/event_preventdefault.asp के माध्यम से पढ़ने के लिए यह छोटा और दिलचस्प लिंक।
परिभाषा और उपयोग
यदि यह रद्द करने योग्य है, तो StopDefault () विधि घटना को रद्द कर देती है, जिसका अर्थ है कि घटना से संबंधित डिफ़ॉल्ट क्रिया घटित नहीं होगी।
उदाहरण के लिए, यह तब उपयोगी हो सकता है जब:
Clicking on a "Submit" button, prevent it from submitting a form
Clicking on a link, prevent the link from following the URL
नोट: सभी ईवेंट रद्द नहीं हैं। किसी घटना को रद्द करने योग्य है या नहीं, यह जानने के लिए रद्द करने योग्य संपत्ति का उपयोग करें।
नोट: StopDefault () विधि DOM के माध्यम से किसी ईवेंट के आगे प्रसार को नहीं रोकती है। इसे रोकने के लिए stopPropagation () विधि का उपयोग करें।