Safe Haskell | None |
---|---|
Language | Haskell98 |
Event handling for Haste.
- class Event evt where
- class MonadIO m => MonadEvent m where
- data HandlerInfo
- unregisterHandler :: HandlerInfo -> IO ()
- onEvent :: (MonadEvent m, IsElem el, Event evt) => el -> evt -> (EventData evt -> m ()) -> m HandlerInfo
- preventDefault :: IO ()
- data BasicEvent
- data KeyEvent
- data KeyData = KeyData {}
- mkKeyData :: Int -> KeyData
- data MouseEvent
- data MouseData = MouseData {
- mouseCoords :: !(Int, Int)
- mouseButton :: !(Maybe MouseButton)
- mouseWheelDeltas :: !(Double, Double, Double)
- data MouseButton
- data TouchEvent
- data TouchData = TouchData {
- touches :: [Touch]
- targetTouches :: [Touch]
- changedTouches :: [Touch]
- data Touch = Touch {
- identifier :: !Int
- target :: !Elem
- pageCoords :: !(Int, Int)
- clientCoords :: !(Int, Int)
- screenCoords :: !(Int, Int)
Core event functionality
Any type that describes an event.
eventName :: evt -> JSString Source
The name of this event, as expected by the DOM.
eventData :: evt -> JSAny -> IO (EventData evt) Source
Construct event data from the event identifier and the JS event object.
Event AudioEvent Source | |
Event BasicEvent Source | |
Event KeyEvent Source | |
Event MouseEvent Source | |
Event TouchEvent Source |
class MonadIO m => MonadEvent m where Source
Any monad in which we're able to handle events.
data HandlerInfo Source
Information about an event handler.
unregisterHandler :: HandlerInfo -> IO () Source
Unregister an event handler.
:: (MonadEvent m, IsElem el, Event evt) | |
=> el | Element to set handler on. |
-> evt | Event to handle. |
-> (EventData evt -> m ()) | Event handler. |
-> m HandlerInfo | Information about the handler. |
Set an event handler on a DOM element.
preventDefault :: IO () Source
Prevent the event being handled from resolving normally. Does nothing if called outside an event handler.
Basic events with no arguments
data BasicEvent Source
Event BasicEvent Source | |
type EventData BasicEvent = () Source |
Keyboard-related events
Event data for keyboard events.
mkKeyData :: Int -> KeyData Source
Build a KeyData
object for the given key, without any modifier keys
pressed.
Mouse-related events
data MouseEvent Source
Event data for mouse events.
MouseData | |
|
data MouseButton Source
Touch-related events
data TouchEvent Source
Event data for touch events.
TouchData | |
|
A finger touching the screen.
Touch | |
|