दूसरा श्रोता पहले ओवरराइड नहीं करेगा। jQuery इवेंट हैंडलर को संचयी रूप से जोड़ा जाता है और वे संलग्न किए गए क्रम में निष्पादित होते हैं।
बात यह है कि प्रभाव है कि क्या एक हैंडलर रोकता अन्य चल कैसे समारोह ब्राउज़र की डिफ़ॉल्ट क्लिक हैंडलर रद्द है करता है (यानी कैसे आपको लिंक के यूआरएल निम्नलिखित ब्राउज़र बंद)
आप पारंपरिक विधि का उपयोग करते हैं:
$(element).on('click', function() {
/* Some Stuff, do your thing */
return false;
});
उपरोक्त हैंडलर ईवेंट को रोक देगा और अन्य हैंडलरों को प्रचारित करेगा।
लेकिन आप अपने प्रचार या हैंडलर को रोके बिना घटना कार्रवाई को रोकने के कर सकते हैं:
$(element).on('click', function(e) {
// prevent the default action at first, just to make it clear :)
e.preventDefault();
/* do your thing */
return /* what you want */;
});
यह सुनिश्चित होगा कि डिफ़ॉल्ट क्लिक कार्रवाई नहीं होती है लेकिन घटना अन्य hanlders करने के लिए जारी है। jQuery ईवेंट में कुछ अन्य उपयोगी event propagation methods (उदा। Event.stopPropagation()
) हैं जो जानने के लायक हैं।
यहाँ http://stackoverflow.com/questions/891989/javascript-adding-an-onclick-handler-without-overwriting-the-existing-one –
क्यों downvotes एक बार देख ले? सवाल स्पष्ट और संक्षेप में है। –
लॉल, मैं यह जानकर कोड को अंधाधुंध रूप से लिखना नहीं चाहता था कि यह मामला है या नहीं। मैंने और अधिक समझने के लिए अपना प्रश्न संपादित किया। – trusktr