func
नहीं क्लिक पर दो बार बुलाया जाएगा, नहीं; लेकिन विवरण और एक "गेटचा" के लिए पढ़ना जारी रखें।
कल्पना में addEventListener
से:
से अधिक समान EventListeners
समान पैरामीटर डुप्लिकेट उदाहरणों छोड़ दिए जाते हैं के साथ एक ही EventTarget
पर पंजीकृत कर रहे हैं। वे EventListener
को दो बार बुलाए जाने का कारण बनते हैं और चूंकि उन्हें छोड़ दिया जाता है, उन्हें removeEventListener
विधि से हटाया जाने की आवश्यकता नहीं है।
(मेरे जोर)
यहाँ एक उदाहरण है:
var target = document.getElementById("target");
target.addEventListener("click", foo, false);
target.addEventListener("click", foo, false);
function foo() {
var p = document.createElement("p");
p.innerHTML = "This only appears once per click, but we registered the handler twice.";
document.body.appendChild(p);
}
यह ध्यान रखें, हालांकि, कि यह वही कार्य हो गया है महत्वपूर्ण है , केवल एक समारोह नहीं है जो एक ही काम करता है। उदाहरण के लिए, यहाँ मैं चार अलग-अलग कार्यों को hooking हूँ तत्व है, जो सभी को बुलाया जाएगा करने के लिए:
var target = document.getElementById("target");
var count;
for (count = 0; count < 4; ++count) {
target.addEventListener("click", function() {
var p = document.createElement("p");
p.innerHTML = "This gets repeated.";
document.body.appendChild(p);
}, false);
}
<input type="button" id="target" value="Click Me">
क्योंकि हर पाश यात्रा, पर एक अलग समारोह बनाई गई है है कि (भले ही कोड एक जैसा है)।
स्रोत
2012-04-28 14:17:27
मैं ओपी नहीं हूं लेकिन इस जवाब ने मुझे बहुत मदद की। धन्यवाद !! –