2010-08-12 12 views
10

एक जावास्क्रिप्ट-आधारित इंटरफ़ेस है - इसलिए मुझे जावास्क्रिप्ट के बिना काम का समर्थन करने की आवश्यकता नहीं है।जावास्क्रिप्ट: <a> के लिए शून्य (0) या ऑनक्लिक = "वापसी झूठी" - जो बेहतर है?

मैं एक

<a>Something</a> 

जे एस कोड है, जो क्लिक करें घटना पर बांधता साथ तत्व है - इसलिए, मैं उपयोगकर्ता के क्लिक करने के बाद पृष्ठ पुनः लोड नहीं करना चाहती।

किस तरह से बेहतर है?

1. <a href="javascript:void(0)">Something</a> 
2. <a href="#" onclick="return false;">Something</a> 

प्रत्येक विधि के क्या फायदे और नुकसान?

+0

यह भी देखें: http://stackoverflow.com/questions/134845/href-for-javascript-links-or-javascriptvoid0 http://stackoverflow.com/questions/3451560/ideal-value-for-a-href -वें-प्रयुक्त-के-ए-जेएस-इवेंट – CMS

+1

डुप्लिकेट? देखें: http://stackoverflow.com/questions/245868/what-is-the-difference-between-the-different-methods-of-putting-javascript-in-an –

उत्तर

10

दोनों खराब विकल्प हैं। प्रस्तुति सामग्री के साथ मिश्रण नहीं करना चाहिए। इसका मतलब है javascript: यूआरआई, और निश्चित रूप से onclick विशेषताएँ नहीं। न तो

<a id="myLink">Something</a> 
<script> 
    function myFunction(...) { ... } 
    document.getElementById('myLink').addEventListener('click', myFunction, false); 
</script>
+0

सामान्य रूप से, यह दूसरा तरीका है - ईवेंट श्रोता। मैंने सादगी के लिए onclick = "..." लिखा है। मैं JQuery का उपयोग करता हूं - इसलिए $ ("# elementId")। बाइंड ("क्लिक करें", फ़ंक्शन() {वापसी झूठी;}); धन्यवाद। –

+0

आप सही हैं कि दोनों खराब विकल्प हैं, लेकिन यह भी बदतर है: यह आईई में काम नहीं करता है। और यह '' के तुरंत बाद '

2

:

तरह से यह करने के लिए। यदि आपका लिंक कहीं भी नहीं जाता है, तो <a> तत्व का उपयोग न करें। <span> या कुछ और उचित का उपयोग करें और अपनी इच्छा के अनुसार शैली को सीएसएस जोड़ें।

+1

यह अधिक अर्थपूर्ण रूप से सही क्यों है यदि यह एक लिंक या एंकर के रूप में कार्य नहीं कर रहा है? –

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