मैं jQuery का उपयोग करता हूं, मुझे कुछ एंकर टैग बनाने की आवश्यकता है जो कोई कार्रवाई नहीं करते हैं।
मैं आमतौर पर इसे इस तरह लिखता हूं:
<a href="#">link</a>
हालाँकि यह पृष्ठ के शीर्ष भाग को संदर्भित करता है!
hrefविशेषता का उपयोग न करें ।
मैं jQuery का उपयोग करता हूं, मुझे कुछ एंकर टैग बनाने की आवश्यकता है जो कोई कार्रवाई नहीं करते हैं।
मैं आमतौर पर इसे इस तरह लिखता हूं:
<a href="#">link</a>
हालाँकि यह पृष्ठ के शीर्ष भाग को संदर्भित करता है!
hrefविशेषता का उपयोग न करें ।
जवाबों:
यदि आप इसे किसी भी बात के लिए नहीं करना चाहते हैं, तो आपको संभवतः <a>(एंकर) टैग का उपयोग नहीं करना चाहिए ।
यदि आप एक लिंक की तरह कुछ देखना चाहते हैं, लेकिन लिंक की तरह काम नहीं करते हैं, तो उपयुक्त तत्व (जैसे <span>) का उपयोग करना सबसे अच्छा है और फिर CSS का उपयोग करके इसे स्टाइल करें:
<span class="fake-link" id="fake-link-1">Am I a link?</span>
.fake-link {
color: blue;
text-decoration: underline;
cursor: pointer;
}
इसके अलावा, यह देखते हुए कि आपने इस प्रश्न "jQuery" को टैग किया है, मैं मान रहा हूं कि आप एक क्लिक इवेंट हैंडर संलग्न करना चाहते हैं। यदि हां, तो ऊपर की तरह ही काम करें और फिर निम्नलिखित जावास्क्रिप्ट का उपयोग करें:
$('#fake-link-1').click(function() {
/* put your code here */
});
सही समाधान की तुलना में कुछ कम हैं:
1. एक नकली एंकर से लिंक
<a href="#">
समस्या: लिंक पर क्लिक करने से पृष्ठ के शीर्ष पर वापस कूदता है
2. 'a' के अलावा अन्य टैग का उपयोग करना
एक स्पैन टैग का उपयोग करें और क्लिक को संभालने के लिए jquery का उपयोग करें
समस्या: कीबोर्ड नेविगेशन को तोड़ता है, होवर कर्सर को मैन्युअल रूप से बदलना होगा
3. एक जावास्क्रिप्ट शून्य फ़ंक्शन से लिंक
<a href="javascript:void(0);">
<a href="javascript:;">
समस्या: IE में छवियों को जोड़ने पर विराम
उपाय
चूँकि इन सभी की समस्याएँ हैं, इसलिए मैंने जो समाधान किया है वह एक नकली लंगर से जुड़ा है, और फिर onClick से झूठी वापसी करें:
<a href="#" onClick="return false;">
समाधानों का सबसे संक्षिप्त नहीं, लेकिन यह उपरोक्त विधियों के साथ सभी समस्याओं को हल करता है।
breaks when linking images in IEइसका क्या मतलब है?
<a href="javascript:;">
href="javascript:"यह भी पर्याप्त है और नवीनतम प्रमुख ब्राउज़रों में काम करता है। अर्धविराम की कोई आवश्यकता नहीं, वास्तव में PhpStorm भी इसे हटाने का सुझाव देता है।
इसे कुछ भी नहीं करने के लिए, इसका उपयोग करें:
<a href="javascript:void(0)"> ... </a>
<a href="javascript:;">। पुनश्च साथ काम नहीं करता target=_blankहै, हालांकि
इसे संभालने का सही तरीका यह है कि जब आप लिंक को हैंडल करें तो jQuery के साथ लिंक को "ब्रेक" करें
एचटीएमएल
<a href="#" id="theLink">My Link</a>
जे एस
$('#theLink').click(function(ev){
// do whatever you want here
ev.preventDefault();
ev.stopPropagation();
});
वे अंतिम दो कॉल क्लिक की व्याख्या करने वाले ब्राउज़र को रोकते हैं।
इसे करने के लिए बहुत सारे तरीके हैं
न जोड़ें और hrefविशेषता
<a name="here"> Test <a>
आप जैसे href के बजाय onclick इवेंट को जोड़ सकते हैं
<a name="here" onclick="YourFunction()"> Test <a>
या आप इस तरह से शून्य फ़ंक्शन जोड़ सकते हैं जो सबसे अच्छा तरीका होगा
<a href="javascript:void(0);">
<a href="javascript:;">
hrefविशेषता को हटा देते हैं क्योंकि यह अब हाइपरलिंक की तरह व्यवहार नहीं करेगा (भले ही ऑन्ग्लिक अभी भी काम करता है) आपको सामान cursor: pointer;और :hoverचयनकर्ता को रीसेट करना होगा ।
क्या आप कुछ भी नहीं मतलब है?
<a href='about:blank'>blank page</a>
या
<a href='whatever' onclick='return false;'>won't navigate</a>
मुझे लगता है कि आप कोशिश कर सकते हैं
<a href="JavaScript:void(0)">link</a>
मैं यहाँ पर जो एकमात्र कैच देख रहा हूँ वह उच्च स्तरीय ब्राउज़र सुरक्षा है जिसे जावास्क्रिप्ट निष्पादित करने पर संकेत दिया जा सकता है।
हालांकि यह एक आसान तरीका है
<a href="#" onclick="return false;">Link</a>
यह संयम से इस्तेमाल किया जाना चाहिए
कुछ बिंदुओं के लिए यह लेख पढ़ें https://web.archive.org/web/20090301044015/http://blog.reindel.com/2006/08/11/a-hrefjavascriptvoid0-avoid-the-void
नए वेब मानकों (HTML5) को प्रतिबिंबित करने के लिए इस उत्तर को अपडेट किया जाना चाहिए।
यह:
<a tabindex="0">This represents a placeholder hyperlink</a>
... मान्य HTML5 है। टैबइंडेक्स विशेषता इसे सामान्य हाइपरलिंक की तरह कीबोर्ड को ध्यान देने योग्य बनाती है। आप spanपहले बताए गए अनुसार इसके लिए तत्व का उपयोग कर सकते हैं , लेकिन मैं इसका उपयोग करता हूंa तत्व तत्व अधिक सुरुचिपूर्ण है।
देखें: https://w3c.github.io/html-reference/a.html
और: https://html.spec.whatwg.org/multipage/links.html#attr-hyperlink-href
clickजब उपयोगकर्ता तत्व को केंद्रित करता है और एंटर दबाता है (फ़ायरफ़ॉक्स 51 में परीक्षण किया जाता है) तो यह भी ट्रिगर नहीं होता है ।
keydownघटना का उपयोग करें ।
यहां <a>टैग की hrefटैग प्रॉपर्टी के लिए तीन तरीके बताए गए हैं:
<a href="JavaScript:void(0)"> link </a>
<a href="javascript:;">link</a >
<a href="#" onclick="return false;"> Link </a>
मुझे पता है कि यह एक पुराना सवाल है, लेकिन मुझे लगा कि मैं अपने दो सेंटों को और जोड़ूंगा:
यह इस बात पर निर्भर करता है कि लिंक क्या करने जा रहा है, लेकिन आमतौर पर, मैं एक url पर लिंक को इंगित करता हूं जो संभवतः प्रदर्शित कर सकता है / वही काम कर सकता है, उदाहरण के लिए, यदि आप बॉक्स पॉप अप के बारे में थोड़ा कर रहे हैं:
<a id="about" href="/about">About</a>
फिर jQuery के साथ
$('#about').click(function(e) {
$('#aboutbox').show();
e.preventDefault();
});
इस तरह, बहुत पुराने ब्राउज़र (या जावास्क्रिप्ट अक्षम के साथ ब्राउज़र) अभी भी पृष्ठ के बारे में एक अलग नेविगेट कर सकते हैं, लेकिन इससे भी महत्वपूर्ण बात यह है कि Google इसे भी उठाएगा और लगभग पृष्ठ की सामग्री को क्रॉल करेगा।
सुनिश्चित करें कि आपके सभी लिंक जिन्हें आप रोकना चाहते हैं href="#!"(या कुछ भी आप चाहते हैं, वास्तव में), और फिर इसका उपयोग करें:
jq('body').on('click.stop_link', 'a[href="#!"]',
function(event) {
event.preventDefault();
});
आपके पास aबिना hrefविशेषता के HTML एंकर ( टैग) हो सकता है। hrefविशेषता छोड़ें और यह किसी भी चीज़ से लिंक नहीं होगा:
<a>link</a>
केवल एक चीज जो मेरे लिए काम करती है वह थी उपरोक्त का एक संयोजन:
सबसे पहले उल में ली
<li><a onclick="LoadTab2_1()" href="JavaScript:void(0)">All Assigned</a></li>
फिर LoadTab2_1 में मैंने मैन्युअल रूप से टैब divs को स्विच किया
$("#tabs-2-1").hide();
$("#tabs-2-2").show();
ऐसा इसलिए है क्योंकि टैब में भी एक्शन को डिस्कनेक्ट करता है
प्राथमिक टैब चीजों को बदलने पर आपको टैब स्टाइल को मैन्युअल रूप से करने की भी आवश्यकता होती है
$("#secTab1").addClass("ui-tabs-active").addClass("ui-state-active").addClass("ui-state-hover").addClass("ui-state-focus");
$("#secTab1 a").css("color", "#ffffff");
आप इसे करके देख सकते हैं
<a style='cursor:pointer' >Link</a>
<a href="#" onclick="SomeFunction()" class="SomeClass">sth.</a>
यह मेरा एंकर टैग था। इसलिए onClick पर झूठी वापसी करें = "" घटना यहाँ उपयोगी नहीं है। मैंने अभी-अभी href = "#" संपत्ति निकाली और यह मेरे लिए नीचे की तरह काम किया
<a onclick="SomeFunction()" class="SomeClass">sth.</a>
और मुझे इस सीएसएस को जोड़ने की आवश्यकता है।
.SomeClass
{
cursor: pointer;
}
मुझे एक वर्डप्रेस साइट पर इस मुद्दे का सामना करना पड़ा। ड्रॉपडाउन मेनू के हेडर में हमेशा विशेषता होती है href=""और हेडर प्लगइन का उपयोग केवल मानक यूआरएल के लिए किया जाता है। इस कोड को पाद लेख में चलाने का सबसे आसान समाधान था:
jQuery('[href=""]').click(function(e){
e.preventDefault();
});
यह खाली एंकरों को कुछ भी करने से रोक देगा।
मुझे पता है कि यह एक jQuery प्रश्न के रूप में टैग किया गया है, लेकिन आप इसका जवाब AngularJS के साथ भी दे सकते हैं।
अपने तत्व में, एनजी-क्लिक निर्देश जोड़ें और $ ईवेंट चर का उपयोग करें जो क्लिक ईवेंट है ... इसके डिफ़ॉल्ट व्यवहार को रोकें:
<a href="#" ng-click="$event.preventDefault()">
तुम भी एक समारोह में $ घटना चर पारित कर सकते हैं:
<a href="#" ng-click="doSomething($event)">
उस फ़ंक्शन में, आप क्लिक इवेंट के साथ जो चाहें करें।