diff --git a/src/Elm/Kernel/VirtualDom.js b/src/Elm/Kernel/VirtualDom.js index 414a820..4ba1ffd 100644 --- a/src/Elm/Kernel/VirtualDom.js +++ b/src/Elm/Kernel/VirtualDom.js @@ -574,6 +574,10 @@ function _VirtualDom_applyEvents(domNode, eventNode, events) if (oldHandler.$ === newHandler.$) { oldCallback.__handler = newHandler; + oldCallback.__eventNode = eventNode.__tagger ? { + __tagger: eventNode.__tagger, + __parent: eventNode.__parent + } : eventNode; continue; } domNode.removeEventListener(key, oldCallback); @@ -633,7 +637,7 @@ function _VirtualDom_makeCallback(eventNode, initialHandler) var currentEventNode = ( stopPropagation && event.stopPropagation(), (tag == 2 ? value.b : tag == 3 && value.__$preventDefault) && event.preventDefault(), - eventNode + callback.__eventNode ); var tagger; var i; @@ -656,6 +660,7 @@ function _VirtualDom_makeCallback(eventNode, initialHandler) } callback.__handler = initialHandler; + callback.__eventNode = eventNode.__tagger ? { __tagger: eventNode.__tagger, __parent: eventNode.__parent } : eventNode; return callback; }