@@ -129,6 +129,7 @@ import GHCJS.DOM.Element (getScrollTop, removeAttribute, removeAttributeNS, setA
129129import qualified GHCJS.DOM.Element as Element
130130import qualified GHCJS.DOM.Event as Event
131131import qualified GHCJS.DOM.GlobalEventHandlers as Events
132+import qualified GHCJS.DOM.DocumentAndElementEventHandlers as Events
132133import GHCJS.DOM.EventM (EventM, event, on)
133134import qualified GHCJS.DOM.EventM as DOM
134135import qualified GHCJS.DOM.FileList as FileList
@@ -449,7 +450,7 @@ instance er ~ EventResult => Default (GhcjsEventSpec er) where
449450 def = GhcjsEventSpec
450451 { _ghcjsEventSpec_filters = mempty
451452 , _ghcjsEventSpec_handler = GhcjsEventHandler $ \(en, GhcjsDomEvent evt) -> do
452− t :: DOM.EventTarget <- withIsEvent en $ Event.getTarget evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
453+ t :: DOM.EventTarget <- withIsEvent en $ Event.getTargetUnchecked evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
453454 let e = uncheckedCastTo DOM.Element t
454455 runReaderT (defaultDomEventHandler e en) evt
455456 }
@@ -1180,6 +1181,7 @@ instance DOM.FromJSVal ElementEventTarget where
11801181 fromJSVal = fmap (fmap ElementEventTarget) . DOM.fromJSVal
11811182instance DOM.IsEventTarget ElementEventTarget
11821183instance DOM.IsGlobalEventHandlers ElementEventTarget
1184+instance DOM.IsDocumentAndElementEventHandlers ElementEventTarget
11831185
11841186{-# INLINABLE elementOnEventName #-}
11851187elementOnEventName :: IsElement e => EventName en -> e -> EventM e (EventType en) () -> JSM (JSM ())
@@ -1217,12 +1219,12 @@ elementOnEventName en e_ = let e = ElementEventTarget (DOM.toElement e_) in case
12171219 Select -> on e Events.select
12181220 Submit -> on e Events.submit
12191221 Wheel -> on e Events.wheel
1220− Beforecut -> on e Element.beforeCut
1221− Cut -> on e Element.cut
1222− Beforecopy -> on e Element.beforeCopy
1223− Copy -> on e Element.copy
1224− Beforepaste -> on e Element.beforePaste
1225− Paste -> on e Element.paste
1222+ Beforecut -> on e Events.beforeCut
1223+ Cut -> on e Events.cut
1224+ Beforecopy -> on e Events.beforeCopy
1225+ Copy -> on e Events.copy
1226+ Beforepaste -> on e Events.beforePaste
1227+ Paste -> on e Events.paste
12261228 Reset -> on e Events.reset
12271229 Search -> on e Events.search
12281230 Selectstart -> on e Element.selectStart