2014-10-30 8 views
5

I find many times the pages use "a" tag and want to make it like a button. it's something like this:क्या बीच का अंतर है <बटन onclick = ...> और <a href="#" onclick=.../>

<a href="#" class="button" onclick="...." /> 

I'm confusing about why not just use "button" tag? like this:

<button onclick="....">button</button> 

what is the difference between? I really want to learn it, thanks!

One more situation question:

Three "button-like < a > tag" as below:

enter image description here

Hint:

  • Different one call ajax then get different period record
  • Need to use onclick="location.replace()" because back to last page smoothly.

Original code:

<a href="url" class="btn" >Today</a> 

I have changed to:

<a href="#" onclick="location.replace(url)" class="btn" >Today</a> 

Consider about:

<button onclick="location.replace(url)">Today</button> 

What will you do in this situation? Is any incorrect to use button tag ?

+2

बीटीडब्ल्यू, टाइप = बटन के लिए है,

+0

भी नहीं, बटन स्वयं बंद नहीं है। – Kolby

+0

@ दंडवीस और कोल्बी, धन्यवाद दोस्तों, मैंने इसे संशोधित किया है। –

उत्तर

3

यह मूल रूप से एक ऐतिहासिक तथ्य है।

यह उस समय से उत्पन्न होता है जब एंकर पर कस्टम स्टाइल लागू करना बहुत आसान होता है। आप आसानी से एंकर के अंदर अधिक तत्वों का उपयोग कर ऑटो आकार के "बटन-दिखने वाले" एंकर बना सकते हैं।

आज, उन्नत सीएसएस विकल्प और बेहतर ब्राउज़र संगतता के साथ, यह आवश्यक नहीं है। जब button सही अर्थात् तत्व है, तो आपके पास a का उपयोग करने का कोई कारण नहीं है।

तो, अन्य पृष्ठों के लिंक के लिए एंकर का उपयोग करें। # और onclick का उपयोग करने के बजाय, इसमें हमेशा href होना चाहिए। अब, आप अभी भी onclick का उपयोग कर सकते हैं - बस सुनिश्चित करें कि href आपको उसी डेटा पर निर्देशित करता है जो onclick करता है। यह बहुत आसान है जब आप खोज साइट्स को अपनी साइट पर नेविगेट करने का कोई तरीका चाहते हैं, भले ही वास्तविक उपयोगकर्ता उदा। एक और उत्तरदायी इंटरफ़ेस (उदाहरण के लिए, AJAX के माध्यम से अद्यतन सामग्री डाउनलोड करना)। सुनिश्चित करें कि एक नई विंडो/टैब में लिंक खोलने के सामान्य तरीके अभी भी काम करते हैं (न तो ctrl + क्लिक, राइट-क्लिक करें और मध्य-क्लिक onclick क्रिया निष्पादित करना चाहिए)।

बटन वे तत्व हैं जो वर्तमान में आपके द्वारा चालू किए गए पृष्ठ से बातचीत करने के लिए हैं, चाहे इसका मतलब क्लाइंट-साइड स्क्रिप्टिंग करना है, या सर्वर पर एक फॉर्म भेजना है।

संपादित:

अपने प्रश्न का संपादित साथ

, तो यह आपको बस एक सामान्य href साथ एक लंगर का उपयोग करना चाहिए स्पष्ट है। onclick या button का उपयोग करने का कोई कारण नहीं है, और आप हैं, बस एक साधारण हाइपरलिंक बनाते हैं, यही एंकर हैं।

+0

आपके ज्ञान के लिए धन्यवाद, यह वास्तव में सहायक है! –

+0

लेकिन मुझे ऑनक्लिक का उपयोग करना है क्योंकि मुझे उपयोगकर्ता को अंतिम पृष्ठ पर आसानी से वापस लाने के लिए location.replace() का उपयोग करने की आवश्यकता है :( –

+1

अच्छा, नहीं, आप नहीं करते हैं। आप सर्वर पर पूरा पृष्ठ बना रहे हैं , 'href' सहित। बस सर्वर पर उचित पथ बनाएं, और आप ठीक हैं। हैश टैग के साथ काम करते समय एकमात्र अपवाद है, लेकिन यह वास्तव में प्रतिक्रिया की तरह है-हैक मैं बात कर रहा हूं - आप 'अभी भी' href 'के साथ एंकर का उपयोग करें, और केवल' ऑनक्लिक 'में हैश को संभालें। आपको आदर्श रूप से जावास्क्रिप्ट बंद होने के साथ अपनी पूरी साइट पर नेविगेट करने में सक्षम होना चाहिए - यह आपके डिज़ाइन का एक अच्छा परीक्षण है :) – Luaan

3

So the answer here is: semantics.

An anchor should be used for a hyperlink. Navigational items used to move from one page to another. It's a reference to data that the user can get to by clicking the link.

A button is a button. It's used for functionality.

In your example they're both calling an onclick event, so they're only going to have one difference. In the case of the anchor you have to override the default behavior using event.preventDefault().

Also, the top 3 results via Google:

http://davidwalsh.name/html5-buttons

HTML/CSS - Buttons - When to use what

http://www.reddit.com/r/Frontend/comments/1y9zdh/anchor_vs_button_a_question_on_html_semantics/

+0

धन्यवाद, यह एक महान अवधारणा है। –

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