के शरीर या अलग-अलग समूहों पर घटनाओं क्लिक स्टोर करने के लिए कुशल मैं निम्नलिखित पढ़ा है बहुत सारी मेमोरी और धीमी गति से प्रदर्शन ...यह अधिक तत्वों
... क्योंकि तत्वों को प्रभावित करने वाली घटनाएं आप ईवेंट वाले हैंडलर को एक तत्व पर रख सकते हैं और ईवेंट लक्ष्य संपत्ति का उपयोग करके पता लगा सकते हैं कि इसके किस बच्चे ने "
तो, क्या सिर्फ शरीर पर एक क्लिक घटना कर रहे हैं और उसके बाद सही समारोह सौंपने के लिए कमियां हैं tion?
मैं यहाँ एक उदाहरण है:
एचटीएमएल:
<div id="test" class="box">gfdgsfdg </div>
<div id="test2" class="box">gfdsgfdsg</div>
<div id="test3" class="box">fdsgfdsgg</div>
<ul id="test4" class="box">
<li id="test5" class="box">fsgfdsg</li>
<li id="test6" class="box">gfdsgfds</li>
<li id="test7" class="box">gfdsgfds</li>
<li id="test8" class="box">gfdsgfds</li>
</ul>
जे एस:
var body = document.body;
if (body.addEventListener) {
body.addEventListener('click', function (e) {
delegate(e, "click");
}, false);
} else {
body.attachEvent('onclick', function (e) {
delegate(e, "click");
}, false);
}
function delegate(e) {
var sourceNode = e.target || e.srcElement;
var id = sourceNode.id;
switch (id) {
case ("test"):
// do some func
break;
case ("test2"):
// do some func
break;
case ("test3"):
// do some func
break;
case ("test4"):
// do some func
break;
default:
// do nothing
break;
}
}
दिलचस्प बिंदु: यह एक घटना को बढ़ा देंगे Deadlink के लिए http://jsfiddle.net/jkg0h99d/3/
कोड बैकअप जब भी उपयोगकर्ता क्लिक करता है। लेकिन, क्या यह वास्तव में एक समस्या होने जा रहा है? सभी यह है एक स्विच के माध्यम जाँच (या जांच करता है कि हो सकता है)
इस की बात, मात्र ब्याज है, लेकिन यदि कोई उपयोगकर्ता बिंदु अनुकूलन के बारे में पूछा गया है। मैं सोच रहा हूं कि इसे बहुत जल्दी अनुकूलित किया जा सकता है लेकिन मैं विषय पर चर्चा जारी रखूंगा।
आप शरीर पर इसके बारे में सब डाल तो किसी भी क्लिक आप पृष्ठ पर इसे माध्यम से जाने की जरूरत होगी। प्रदर्शन हिट मोबाइल उपकरणों पर अधिक ध्यान देने योग्य है – Huangism
तत्वों की संख्या के साथ, मैं इसके बारे में भी चिंता नहीं करता। जब तक आप अपना कोड प्रोफाइल नहीं करते हैं और यह एक बाधा बनने के लिए पाया जाता है, यह समयपूर्व अनुकूलन है। यदि आपके पास कई तत्व हैं जिन्हें क्लिक करने पर सभी को * वही * (या लगभग एक ही चीज़) करने की आवश्यकता है, तो यह एक उच्च स्तर पर एक हैंडलर संलग्न करने के लिए समझ में आता है।अन्यथा, मुझे लगता है कि 'स्विच' कथन एक दुःस्वप्न का थोड़ा सा होने जा रहा है। –
हां, यह एक प्रदर्शन था। और मुझे लगता है कि हुआंगवाद एक बहुत अच्छा मुद्दा उठाता है, धन्यवाद – user2330270