मेरे HTML- पृष्ठ पर यह लिंक है:
<a href = ""
onclick = "setBodyHtml ('new content'); return false; "
> click here </a>
फ़ंक्शन setBodyHtml () के रूप में परिभाषित किया गया है:
function setBodyHtml (s)
{ document.body.innerHTML = s;
}
जब मैं लिंक पर क्लिक करता हूं तो लिंक गायब हो जाता है और ब्राउज़र में दिखाया गया टेक्स्ट "नई सामग्री" में बदल जाता है।
लेकिन अगर मैं अपने लिंक से "गलत" हटाता हूं, तो लिंक पर क्लिक करने से (प्रतीत होता है) कुछ भी नहीं है। ऐसा क्यों है?
ऐसा इसलिए है क्योंकि यदि मैं लिंक पर क्लिक करने और उसके लक्ष्य-पृष्ठ को प्रदर्शित करने के डिफ़ॉल्ट व्यवहार को गलत नहीं लौटाता, तो रद्द नहीं किया जाता है। लेकिन, यहाँ हाइपरलिंक का href "" है इसलिए यह SAME करंट पेज पर वापस लिंक करता है। तो पृष्ठ प्रभावी रूप से सिर्फ ताज़ा है और प्रतीत होता है कि कुछ भी नहीं होता है।
बैकग्राउंड में फंक्शन setBodyHtml () अभी भी निष्पादित होता है। यह body.innerHTML को अपना तर्क देता है। लेकिन क्योंकि पृष्ठ को तुरंत ताज़ा किया गया है / संशोधित बॉडी-कंटेंट शायद कुछ मिलीसेकंड से अधिक समय तक दिखाई नहीं देता है, इसलिए मैं इसे नहीं देखूंगा।
यह उदाहरण दिखाता है कि "कभी-कभी झूठे" का उपयोग करने के लिए USEFUL का उपयोग क्यों किया जाता है।
मैं लिंक को कुछ href असाइन करना चाहता हूं, ताकि यह लिंक के रूप में, रेखांकित पाठ के रूप में दिखाई दे। लेकिन मैं नहीं चाहता कि लिंक पर क्लिक करने से प्रभावी रूप से सिर्फ पृष्ठ पुनः लोड हो। मैं चाहता हूं कि डिफ़ॉल्ट नेविगेशन = व्यवहार को रद्द कर दिया जाए और जो भी दुष्प्रभाव मेरे कार्य को प्रभाव में लेने और रहने के लिए कहते हैं। इसलिए मुझे "झूठे लौटना चाहिए"।
उपरोक्त उदाहरण कुछ ऐसा है जिसे आप विकास के दौरान जल्दी से आज़माएंगे। उत्पादन के लिए आप अधिक जावास्क्रिप्ट में क्लिक-हैंडलर निर्दिष्ट करेंगे और इसके बजाय निवारण () को कॉल करेंगे। लेकिन एक त्वरित कोशिश के लिए, ऊपर "झूठे झूठ" से यह चाल चली जाती है।