Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit d05f27e

Browse files
committed
perf(jqLite): optimize event handler
1 parent b057151 commit d05f27e

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/jqLite.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -689,11 +689,18 @@ function createEventHandler(element, events) {
689689
return event.defaultPrevented;
690690
};
691691

692+
var eventFns = events[type || event.type];
693+
var eventFnsLength = eventFns ? eventFns.length : 0;
694+
695+
if (!eventFnsLength) return;
696+
692697
// Copy event handlers in case event handlers array is modified during execution.
693-
var eventHandlersCopy = shallowCopy(events[type || event.type] || []);
698+
if ((eventFnsLength > 1)) {
699+
eventFns = shallowCopy(eventFns);
700+
}
694701

695-
for (var i = 0, ii = eventHandlersCopy.length; i < ii; i++) {
696-
eventHandlersCopy[i].call(element, event);
702+
for (var i = 0; i < eventFnsLength; i++) {
703+
eventFns[i].call(element, event);
697704
}
698705
};
699706

0 commit comments

Comments
 (0)