mdgriffith/style-elements/3.0.0

NOTE: this package is not compatible with Elm 0.19.1

Element.Events

This module is mirrored nearly completely from Html.Events

The only difference is that the HTML.Events are turned into Element.Events

Mouse Helpers

onClick : msg -> Attribute variation msg
onDoubleClick : msg -> Attribute variation msg
onMouseDown : msg -> Attribute variation msg
onMouseUp : msg -> Attribute variation msg
onMouseEnter : msg -> Attribute variation msg
onMouseLeave : msg -> Attribute variation msg
onMouseOver : msg -> Attribute variation msg
onMouseOut : msg -> Attribute variation msg

Form Helpers

onInput : (String -> msg) -> Attribute variation msg

Capture input events for things like text fields or text areas. It grabs the string value at event.target.value, so it will not work if you need some other type of information. For example, if you want to track inputs on a range slider, make a custom handler with on. For more details on how onInput works, check out targetValue.

onCheck : (Bool -> msg) -> Attribute variation msg

Capture change events on checkboxes. It will grab the boolean value from event.target.checked on any input event. Check out targetChecked for more details on how this works.

onSubmit : msg -> Attribute variation msg

Capture a submit event with preventDefault in order to prevent the form from changing the page’s location. If you need different behavior, use onWithOptions to create a customized version of onSubmit.

Focus Helpers

onBlur : msg -> Attribute variation msg
onFocus : msg -> Attribute variation msg

Custom Event Handlers

on : String -> Decoder msg -> Attribute variation msg

Create a custom event listener. Normally this will not be necessary, but you have the power! Here is how onClick is defined for example:

import Json.Decode as Json


onClick : msg -> Attribute variation msg
onClick message =
    on "click" (Json.succeed message)

The first argument is the event name in the same format as with JavaScript's addEventListener function. The second argument is a JSON decoder. Read more about these here. When an event occurs, the decoder tries to turn the event object into an Elm value. If successful, the value is routed to your update function. In the case of onClick we always just succeed with the given message. If this is confusing, work through the Elm Architecture Tutorial. It really does help!

onWithOptions : String -> Options -> Decoder msg -> Attribute variation msg

Same as on but you can set a few options.