2013-06-19 8 views
13

मुझे पता है कि इससे पहले पूछा गया है लेकिन मुझे अपने विशेष कार्यों को एक क्लिक पर भी जोड़ने का वाक्यविन्यास नहीं मिल सकता है।क्या मेरे पास एक तत्व में दो jquery onclick घटनाएं हो सकती हैं?

वर्तमान onclick कोड:

<a class="thumbLinkCart" href="#" onclick="simpleCart.add('name=lemon','price=7.99','image=images/thumbs/yellowgold.jpg');return false;"></a> 

दूसरा घटना जोड़े जाने के लिए:

<script> 
    $(document).ready(function() { 
     $('#demo12').click(function() { 
    $.growlUI('Item added to cart'); 
}); 
}); 
</script> 

कोई मुझे पहले onclick घटना के बाद दूसरे समारोह जोड़ने में मदद कर सकते हैं कृपया।

+3

इनलाइन ईवेंट हैंडलर निकालें और उन दोनों jQuery के साथ बाँध। –

+0

भी 'id =' demo12'' विशेषता जोड़ें, कि jQuery – metadings

+0

लिंक ढूंढ सकता है धन्यवाद, एक आकर्षण की तरह काम किया! – user2487746

उत्तर

17

आपके पास एक ही तत्व से जुड़ी कई घटनाएं (समान) हो सकती हैं। लेकिन यदि आप इनलाइन ईवेंट हैंडलर का उपयोग करके ईवेंट को बाध्य करते हैं, तो आप एक ईवेंट को परिभाषित कर सकते हैं।

नोट: हमेशा एक बेहतर विचार जावास्क्रिप्ट का उपयोग करने की घटनाओं बाध्य करने के लिए है, क्योंकि यह चिंताओं में से और रख-रखाव के प्रयोजनों के लिए जुदाई बनाए रखता है।

आप के बजाय अपने जे एस कोड है जो बहुत क्लीनर

है jQuery में तत्वों के लिए कई घटनाओं बाध्य कर सकते हैं

$('#demo12').on('click', function() { 
    alert('1st click event'); 
    // Add items to the cart here 
}); 

$('#demo12').on('click', function() { 
    alert('2nd click event'); 
    // Do something else 
}); 

वेनिला जावास्क्रिप्ट

document.querySelector('#demo12').addEventListener('click', function() { 
    alert('1st click event'); 
    // Add items to the cart here 
}); 

document.querySelector('#demo12').addEventListener('click', function() { 
    alert('2nd click event'); 
    // Do something else 
}); 

Check Fiddle

+2

+1 क्योंकि यह तकनीक मुझे विभिन्न चयनकर्ताओं का उपयोग करके दो बार तत्व पर एक क्लिक ईवेंट लागू करने की अनुमति देती है। (उदा। - बटन विशिष्ट फ़ंक्शन, और सभी बटनों पर फ़ंक्शन)। धन्यवाद! –

+0

@ जेरेमीप्रिडेमोर .. मदद करने में खुशी हुई :) –

+0

@ सुशांत - घटनाओं के निष्पादन का आदेश क्या होगा – irfandar

2

"वापसी झूठ;" को प्रतिस्थापित करने का प्रयास करें "event.preventDefault();" के साथ। इससे घटना को प्रसारित करने देना चाहिए ताकि क्लिक हैंडलर ट्रिगर्स हो, लेकिन फिर भी नेविगेटिंग से ए-href को रोक दें।

1

इसे आमतौर पर onclick विशेषता का उपयोग करने के लिए बुरी आदत माना जाता है। यह व्यवहार (जावास्क्रिप्ट) के साथ बहुत अधिक संरचना (एचटीएमएल) mingles।

यह सब एक साथ क्यों नहीं करते?

<a class="thumbLinkCart" href="#">Link</a> 

और

<script> 
    $(document).ready(function() { 
    $('.thumbLinkCart').click(function() { 
     simpleCart.add('name=lemon','price=7.99','image=images/thumbs/yellowgold.jpg'); 
     $.growlUI('Item added to cart'); 
    }); 
    }); 
</script> 
+1

वाह इतना कुशल है, और यह पूरी तरह से काम किया ... बहुत सराहना की। मैं डीएस को और अधिक पढ़ने के लिए है ... – user2487746

+0

कोई समस्या नहीं है। अभ्यास, सीखना और प्रश्न पूछना जारी रखें! – hamstu

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