Jaki wpływ ma eventlisteres? Im mówić o wielkich liczbach, oto przykład:Wpływ Eventlistenerów?
- Jest tylko x ilość
.marker
na pierwszy - Wszystkie dzieci są dodawane przez
JS
gdy.marker
kliknięciu - EventListener - Każde dziecko ma swój własny co oznacza, że każdy z nich ma własne listy zdarzeń:
<!-- Final HTML of single .marker when it has been clicked -->
<div class="marker">
<div class="remove"></div>
<div class="change"></div>
<div class="add"></div>
<div class="drag"></div>
</div>
var count = 20 000;
for(i = 0; i < count; i++) {
var marker = document.createElement('div');
marker.className = 'marker';
someParentElement.appendChild(marker);
marker.click(function() {
//Create child elements
var remove = document.createElement('div');
remove.className = 'remove';
marker.appendChild(remove);
var change = document.createElement('div');
change.className = 'change';
marker.appendChild(change);
var add = document.createElement('div');
add.className = 'add';
marker.appendChild(add);
var drag = document.createElement('div');
drag.className = 'drag';
marker.appendChild(drag);
//Children eventlisteners
remove.click(function() {
//Do it's thing
});
change.click(function() {
//Do it's thing
});
add.click(function() {
//Do it's thing
});
drag.click(function() {
//Do it's thing
});
});
}
proszę nie przeszkadza innych rzeczy, np stworzenie 20 000 elementów programowo. Moje pytanie brzmi następująco: jaki byłby wpływ posiadania tych wszystkich zdarzeńlistów z całym tym kodem? Czy ma znaczenie, ile kodu znajduje się wewnątrz eventlistenera, o ile nie zostało uruchomione?
Nie jest jasne, co masz na myśli przez "wpływ". Istnieją jednak szkielety JS, które korzystają z jednego detektora zdarzeń typu toplevel. – pvg
Można utworzyć pojedyncze zdarzenie 'kliknij' dla' .marker', użyj 'event.target', aby sprawdzić, który element podrzędny' .marker' jest źródłem zdarzenia, użyj 'if..else', aby przetworzyć to, co ma zostać wykonane w pojedynczym handler – guest271314
@pvg Co mam na myśli, jeśli jest i jaki ma wpływ na wydajność/zasoby? Czy ma znaczenie, ile z nich jest na stronie? Czy może ich być za dużo? Czy kod wewnątrz Eventlistener dodaje wagę do wpływu eventlistener? Wydaje się, że jest mnóstwo pytań, ale moim zdaniem wydaje się, że jest to jedno wielkie pytanie. – Solo