दिलचस्प पोस्ट
पायथन: स्वचालित रूप से इंस्टेंस चर को प्रारंभ करें? पिक्सल में एक्शनबार का आकार क्या है? स्थैतिक आरंभीकरण आदेश फसिंक एक स्तंभ में सीमांकित स्ट्रिंग विभाजित करें और नई पंक्तियों के रूप में डालें नेट में प्राथमिकता कतार सी ++ फ़ंक्शन पॉइंटर (कक्षा सदस्य) गैर-स्थिर सदस्य फ़ंक्शन प्रथम और अंतिम नाम के लिए नियमित अभिव्यक्ति इनलाइन शैली विशेषता द्वारा सीएसएस चयनकर्ता MinGW स्टैटिक लाइब्रेरी (.a) से विजुअल स्टूडियो स्टैटिक लाइब्रेरी (.lib) स्विफ्ट में UI_USER_INTERFACE_IDIOM () के साथ वर्तमान उपकरण का पता लगाएं आप "git –bare init" रिपॉजिटरी का प्रयोग कैसे करते हैं? XMLHttpRequest फ़ाइल लोड नहीं कर सकता। क्रॉस मूल अनुरोध केवल HTTP के लिए समर्थित हैं का अर्थ – <? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"?> मैं जावास्क्रिप्ट पाश में देरी कैसे जोड़ूं? फिक्स्ड टेबल सेल चौड़ाई

क्या "वापसी झूठी" क्या करता है?

मैंने एक वेबपेज लिखा है जहां एक उपयोगकर्ता एक लॉग प्रविष्टि दर्ज कर सकता है जो किसी डेटाबेस पर संग्रहीत होता है और फिर एजेक्स का उपयोग करके पेज पर पुनर्प्राप्त और मुद्रित किया जाता है। मैं अभी भी ajax लिए काफी नया हूं और सोच रहा था कि क्या कोई मुझे बता सकता है कि क्या return false; करता है return false; मेरे कोड के अंत में क्या? और यह भी आवश्यक है?

अगर मैं दूसरी एजेक्स कोड को return false हूं, तो कोड return false नहीं होता! क्या आप कृपया मुझे समझा सकते हैं?

 //handles submitting the form without reloading page $('#FormSubmit').submit(function(e) { //stores the input of today's data var log_entry = $("#LogEntry").val(); // prevent the form from submitting normally e.preventDefault(); $.ajax({ type: 'POST', url: 'behind_curtains.php', data: { logentry: log_entry }, success: function() { alert(log_entry); //clears textbox after submission $('#LogEntry').val(""); //presents successs text and then fades it out $("#entered-log-success").html("Your Entry has been entered."); $("#entered-log-success").show().fadeOut(3000); } }); //prints new log entries on page upon submittion $.ajax({ type: 'POST', url: '/wp-content/themes/childOfFanwood/traininglog_behind_curtains.php', data: { log_entries_loop: "true" }, success: function(data) { alert(data); $("#log-entry-container").html(""); $("#log-entry-container").html(data); } }); return false; });​ 

वेब के समाधान से एकत्रित समाधान "क्या "वापसी झूठी" क्या करता है?"

मैं यहां जो लिखूंगा वह jQuery के ईवेंट के लिए सच है,
वेनिला जावास्क्रिप्ट इवेंट के लिए उत्तर के नीचे टीजे क्रॉडर टिप्पणी को पढ़ें


एक कॉलबैक के अंदर return false डिफ़ॉल्ट व्यवहार को रोकता है उदाहरण के लिए, एक submit ईवेंट में, यह फ़ॉर्म सबमिट नहीं करता है

return false भी बुदबुदाबंदी बंद हो जाती है, इसलिए तत्व के माता-पिता इस घटना को नहीं जानते हैं।

return false event.preventDefault() + event.stopPropagation() बराबर है

और ज़ाहिर है, सभी कोड जो return xxx लाइन के बाद मौजूद है निष्पादित नहीं किया जाएगा। (जैसा कि सभी प्रोग्रामिंग भाषाओं के साथ मुझे पता है)

हो सकता है कि आपको यह सहायक मिले:
इवेंट बबुलिंग बंद करो – प्रदर्शन बढ़ता है?


return false और event.preventDefault() बीच के अंतर को समझाने के लिए एक "वास्तविक" डेमो:

मार्कअप:

 <div id="theDiv"> <form id="theForm" > <input type="submit" value="submit"/> </form> </div>​ 

जावास्क्रिप्ट:

 $('#theDiv').submit(function() { alert('DIV!'); }); $('#theForm').submit(function(e) { alert('FORM!'); e.preventDefault(); });​ 

अब … जब उपयोगकर्ता फॉर्म जमा करता है, तो पहला हेन्डलर फ़ॉर्म सबमिट होता है, जो preventDefault() -> फॉर्म सबमिट नहीं किया जाएगा, लेकिन ईवेंट डिज़ाइन पर बुलबुले, ट्रिगर करने से यह हैडलर जमा करता है

लाइव डेमो

अब, यदि फॉर्म सबमिट हैडलर return false साथ बुदबुदा को रद्द करेगा:

 $('#theDiv').submit(function() { alert('DIV!'); }); $('#theForm').submit(function(event) { alert('FORM!'); return false; // Or: event.preventDefault(); event.stopPropagation(); });​ 

डिवीज़ को यह भी नहीं पता होगा कि फॉर्म सबमिशन था।

लाइव डेमो


वेनिला जावास्क्रिप्ट इवेंट्स में return false क्या return false करता है

किसी DOM2 हैंडलर (ऐडएवेंट लिस्टनर) से झूठी बदले में कुछ भी नहीं है (न ही डिफ़ॉल्ट को रोकता है और न ही रोकता है माइक्रोसॉफ्ट DOM2-ish हैंडलर ( attachEvent ) से, यह डिफॉल्ट को रोकता है, लेकिन बुडबुड नहीं करता; एक DOM0 हैंडलर से ( onclick="return ..." ), यह डिफॉल्ट को रोकता है (बशर्ते आपने विशेषता में वापसी शामिल की है) परन्तु बुलबुले नहीं करते, एक jQuery ईवेंट हैंडलर से, यह दोनों करता है, क्योंकि यह एक jQuery चीज है। यहां विवरण और लाइव परीक्षण – टी जे क्रॉडर

फ़ंक्शन में return स्टेटमेंट के बाद किसी भी कोड को कभी भी निष्पादित नहीं किया जाएगा। यह फ़ंक्शन निष्पादित करना बंद हो जाता है और यह फ़ंक्शन वापसी मूल्य पारित किया है (इस मामले में false है)। आपका फ़ंक्शन "कॉल करें" ईवेंट कॉलबैक है। अगर यह कॉलबैक false , तो फॉर्म वास्तव में सबमिट नहीं किया जाएगा। अन्यथा, इसे बिना जावास्क्रिप्ट के रूप में प्रस्तुत किया जाएगा।

इस उदाहरण में, return false; डिफ़ॉल्ट कार्रवाई रोकती है (जो कि प्रपत्र प्रस्तुत करना है)

हालांकि यह संभवतः e.preventDefault(); का उपयोग करना बेहतर है e.preventDefault();

अजाक्स की वजह से आप अपने फॉर्म को सामान्य तरीके से प्रस्तुत नहीं करते हैं। तो फॉर्म के डिफ़ॉल्ट व्यवहार को रोकने के लिए आपको झूठी वापसी करना होगा।