2011-12-01 13 views
5

मैं निम्नलिखित सेट अप है पर बुदबुदाती रद्द वहाँ एक रास्ता मैं के लिए div ट्रिगर किए जाने वाले क्लिक करें घटना से बचने के लिए इस्तेमाल कर सकते हैं है। मुझे लगता है कि इसमें एंकर टैग के लिए onclick विशेषता में कुछ सेट करने के साथ कुछ करना है लेकिन e.preventDefault() जैसी सरल चीजों को आजमाने की कोशिश नहीं की गई है।मेरे वेबपेज</p> <pre><code><div id="clickable"> <a href="hello.com">Here!</a> </div> </code></pre> <p>पर एक HTML एंकर टैग

सहायता? धन्यवाद!

+0

आप को जोड़ने के लिए [टैग: जावास्क्रिप्ट] चाहते हो सकता है टैग, और, यदि आप एक पुस्तकालय का उपयोग कर रहे हैं, कि पुस्तकालय के लिए प्रासंगिक टैग ([टैग: jQuery], [टैग: mootools], आदि...)। –

उत्तर

6

e.preventDefault() के रूप में e उपयोग कर रहा है; ऑनक्लिक विशेषताओं में काम नहीं करेंगे क्योंकि ई परिभाषित नहीं है। इसके अलावा e.preventDefault(); नहीं चाहता कि आप बुलबुले करना बंद करना चाहते हैं, आपको e.stopPropagation() की आवश्यकता है;

या तो उपयोग करें;

onclick="$(this).stopPropagation();" 
अपने लंगर पर अपना इवेंट में

, या

$(a).click(function(e){ 
    e.stopPropagation(); 
}); 

0

आप कर सकते हैं return false; या सुनिश्चित करें कि आपके समारोह एक तर्क

$("#clickable a").click(function(e){ 
    //stuff 
    e.preventDefault; 
}); 
3

e.preventDefault() घटना को बुलबुले से रोक नहीं देता है। आपको e.stopPropagation() जोड़ने की आवश्यकता है, या return false के साथ इसे बदलें।

आप differences between these three in this answer पर और अधिक पढ़ सकते हैं।

2

आप ऑनक्लिक = "वापसी झूठी;" का उपयोग कर सकते हैं

<a href="#" onclick="return false;">stuff</a>

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