जहाँ तक मुझे पता है, आप नहीं दो onclick हैंडलर एक तत्व के लिए बिल्कुल भी जोड़ सकते हैं।
कहें ओबीजे एक तत्व है तो ओबीजे की संपत्ति पर क्लिक करने पर संपत्ति को एक समारोह माना जाता है और फिर जब भी यह घटना होती है तो उसे विधि के रूप में बुलाया जाता है। यदि यह कोई फ़ंक्शन नहीं है तो कुछ भी नहीं होगा।
जावास्क्रिप्ट में जावास्क्रिप्ट में एक बहुत ही रोचक संपत्ति योजना से विरासत में मिली जावास्क्रिप्ट, आप PHP या सी में फ़ंक्शंस को परिभाषित नहीं करते हैं। आप अज्ञात फ़ंक्शंस बनाते हैं और उन्हें एक चर में स्टोर करते हैं। जावास्क्रिप्ट 'लिस्प -1', वहाँ कोई समारोह पहचानकर्ता हो रहा है, वहाँ चर, जो नंबर, सरणियों, और कार्यों के घर जा सकते हैं।
function name(arg) {return arg;}
अगर मैं के लिए सही मायने में चीनी गलत नहीं कर रहा हूँ है:
name = function(arg) {return arg;};
'नाम' एक चर रहा है यहाँ, हम भी फिर से asign कर सकते हैं यह कोई फर्क नहीं पड़ता कि हम कैसे है कि समारोह में परिभाषित किया। जावा के ऑब्जेक्ट मॉडल के विपरीत, जावास्क्रिप्ट, एक 'विधि' विशुद्ध रूप से एक संपत्ति, एक चर कि बस एक समारोह है कि या 'इस' कीवर्ड का उपयोग नहीं हो सकता है रखती है। यही कारण है कि आप एक ही समय में दो ऑनक्लिक घटना नहीं कर सकते हैं। रनटाइम पर्यावरण जब भी आप उस पर क्लिक करते हैं तो 'ऑनक्लिक' नामक तत्व के गुण (जिसे फ़ंक्शन हाउस करने की उम्मीद है) को कॉल करता है। प्रोग्राम शुरू करने के लिए 'मुख्य' को कॉल करने के समान विज्ञापन प्रकार के व्यवहार के रूप में इसे देखें।
कई ईवेंट हैंडलर्स असाइन करने के लिए, आप की तरह, एक पक्ष प्रभाव के साथ एक समारोह का उपयोग करें।
obj.onclick = function {firstEvent();secondEvent();}
बदलना या हटाना के लिए, हम फिर से कर सकते हैं या किसी भी चर की तरह यह डी-निर्दिष्ट करते हैं।
obj.onclick = null;
और मामले में हम किसी अन्य तरीके से उस व्यवहार को लागू करने की जरूरत है:
obj.onclick();
हम यह भी निश्चित रूप से है कि समारोह में इसका उपयोग कर सकते वस्तु ही बदल सकते हैं या यह संदर्भित करने के लिए।
संपादित करें: ओह रुको, अब मैं देखता हूं कि आपका मतलब है कि 'बटन' कई अलग-अलग बटन हैं।
ठीक है, तो आप जैसे सभी तत्वों को एकत्रित करते हैं: (और कोई, कि एक = एक टाइपो नहीं है)
var i = 0; while(obj = allElements[i++]) obj.onclick = null;
क्या आप इनलाइन ऑनक्लिक विशेषता का उपयोग कर रहे हैं? – Mottie
+1 ग्रेट सवाल। –
एक बेहतर, अधिक प्रत्यक्ष विकल्प @ जिग्गी के समाधान का उपयोग करना है http://stackoverflow.com/questions/803936/how-to-clear-remove-javascript-event-handler – chowey