2010-06-16 8 views
5

एंकर को प्रदर्शित करने का पसंदीदा तरीका क्या है जिसे href विशेषता की आवश्यकता नहीं है (क्योंकि यह केवल जावास्क्रिप्ट में उपयोग किया जाता है)?एंकर प्रदर्शित करने के लिए पसंदीदा तरीका है जिसे href की आवश्यकता नहीं है?

उदाहरण के लिए, <a href="#">example 1</a> बनाम <a href="javascript:;">example 2</a>

+0

की डुप्लीकेट http://stackoverflow.com/questions/134845/href-for-javascript-links-or-javascriptvoid0 – stefanglase

उत्तर

2

जैसा कि अन्य उपयोगकर्ताओं द्वारा उल्लिखित है, यदि आपके href के रूप में गैर जावास्क्रिप्ट फ़ॉलबैक संभव है।

, जावास्क्रिप्ट के साथ उपयोगकर्ताओं के लिए एक पॉप-अप में एक छवि खोलने की

उदाहरण है, जबकि (jQuery का उपयोग) के बिना उपयोगकर्ताओं के लिए एक नियमित रूप से पेज लोड पर वापस गिरने:

<a class="popup" href="path/to/image.png">Baby Llama Picture</a> 

<script> 
    // Assuming a function called popUpImage does the magic 

    $('.popup').click(function(event) { 
     popUpImage($(this).attr('href')); 
     event.preventDefault(); 
    }); 
</script> 

भी लिंक जावास्क्रिप्ट के बिना कोई उपयोगी परिभाषित व्यवहार है जावास्क्रिप्ट का उपयोग कर पेज में इंजेक्शन दिया जाना चाहिए। इस प्रकार जावास्क्रिप्ट के बिना उपयोगकर्ता उन्हें कभी नहीं देख पाएंगे, और वैध href प्रदान करने की कोई आवश्यकता नहीं है। गतिशील रूप से जावास्क्रिप्ट केवल लिंक डालने (jQuery का उपयोग) के

उदाहरण:

<img class="editable" src="baby-llama.png" /> 

<script> 
    // Assuming a function doEditing that allows javascript based editing of an image 

    $(function() { 
    $('.editable').each(function() { 
     var editable = $(this); 

     var editLink = $('<a href="">Edit image</a>'); 
     editLink.click(function() { 
     doEditing(editable); 
     }); 
     editable.insertAfter(editLink); 
    }); 
    }); 
</script> 
6

आपको हमेशा जावास्क्रिप्ट के बिना उपयोगकर्ताओं के लिए फ़ॉलबैक लिंक सेट करना चाहिए। जावास्क्रिप्ट को कॉल करते समय, आप लिंक सक्रिय करने से बचने के लिए हैंडलर से झूठी वापसी कर सकते हैं। उदाहरण के लिए:

<a href="page.html" onclick="doSomething(); return false;">example 1</a> 

विकल्प है, अगर वहाँ से जोड़ने के लिए कोई उपयुक्त पृष्ठ है, सब पर एक लिंक का उपयोग नहीं करने के लिए है। इसके बजाय एक बटन का प्रयोग करें। यदि आप वास्तव में जरूरी हैं तो आप इसे अपने लिंक की तरह दिखने के लिए शैली बना सकते हैं।

+0

यानी http : //icant.co.uk/articles/pragmatic-progressive-enhancement/#build – Quentin

3

आदर्श रूप से href को जितना संभव हो उतना करीब करना चाहिए जो जावास्क्रिप्ट करने जा रहा था।

उदाहरण के लिए, यदि जावास्क्रिप्ट एक बड़ी तस्वीर के साथ एक लाइटबॉक्स पॉप-अप करने जा रहा था, तो href आपको एक नए पृष्ठ पर ले जाना चाहिए जहां आप एक ही बड़ी तस्वीर देख सकते हैं।

यदि आप यह दृष्टिकोण लेते हैं, तो जावास्क्रिप्ट के बिना लोगों को अभी भी एक अच्छा अनुभव मिलता है और जावास्क्रिप्ट वाले लोगों को एक चिकना, चमकदार अनुभव मिलता है।

चेक बाहर Unobtrusive JavaScript और Progressive enhancement

0

आप के लिए क्या rikh और DisgruntledGoat अपनी साइट जावास्क्रिप्ट withou peaple के लिए उपयोगी बनाने के लिए उल्लेख किया छड़ी चाहिए।

यदि आप कुछ है कि जावास्क्रिप्ट के बिना की जरूरत है या संभव नहीं है क्या करना चाहते हैं, तो आप <a href="#">example 1</a> का उपयोग करें और आप पृष्ठ के शीर्ष पर कूद को रोकने के लिए onclick-Funktion जाने return false चाहिए - लेकिन सबसे अच्छा तरीका है हमेशा एक "सामान्य है "फॉलबैक के रूप में लिंक।

संबंधित मुद्दे

 संबंधित मुद्दे