Removing 'elm changed' case.

pull/146/head
K. 9 years ago
parent 174941c6a4
commit cf4793c10a

@ -40,18 +40,17 @@ function updateEventListeners(oldVnode, vnode) {
oldElm = oldVnode.elm, oldElm = oldVnode.elm,
on = vnode && vnode.data.on, on = vnode && vnode.data.on,
elm = vnode && vnode.elm, elm = vnode && vnode.elm,
elmChanged = oldElm !== elm,
name; name;
// optimization for immutable handlers // optimization for reused immutable handlers
if (!elmChanged && oldOn === on) { if (oldOn === on) {
return; return;
} }
// remove existing listeners which no longer used // remove existing listeners which no longer used
if (oldOn && oldListener) { if (oldOn && oldListener) {
// if element changed or deleted we remove all existing listeners unconditionally // if element changed or deleted we remove all existing listeners unconditionally
if (elmChanged || !on) { if (!on) {
for (name in oldOn) { for (name in oldOn) {
// remove listener if element was changed or existing listeners removed // remove listener if element was changed or existing listeners removed
oldElm.removeEventListener(name, oldListener, false); oldElm.removeEventListener(name, oldListener, false);
@ -74,7 +73,7 @@ function updateEventListeners(oldVnode, vnode) {
listener.vnode = vnode; listener.vnode = vnode;
// if element changed or added we add all needed listeners unconditionally // if element changed or added we add all needed listeners unconditionally
if (elmChanged || !oldOn) { if (!oldOn) {
for (name in on) { for (name in on) {
// add listener if element was changed or new listeners added // add listener if element was changed or new listeners added
elm.addEventListener(name, listener, false); elm.addEventListener(name, listener, false);

Loading…
Cancel
Save