@@ -7,12 +7,23 @@ Using `element`, a low-level DOM builder function. Its second argument, `Element
77For example:
88
99```haskell
10−link :: forall t m a. DomBuilder t m => m a -> m (Event t (), a)
11−link c = do
10+{-# LANGUAGE OverloadedStrings #-}
11+{-# LANGUAGE ScopedTypeVariables #-}
12+
13+import Control.Lens ((&), (%~), (.~))
14+import Data.Proxy
15+import Reflex.Dom
16+
17+main :: IO ()
18+main = mainWidget $ do
19+ (click, ()) <- linkPreventDefault $ text "reflex-frp"
20+ display =<< count click
21+
22+linkPreventDefault :: forall t m a. DomBuilder t m => m a -> m (Event t (), a)
23+linkPreventDefault c = do
1224 let cfg = (def :: ElementConfig EventResult t (DomBuilderSpace m))
1325 & elementConfig_initialAttributes .~ ("href" =: "https://reflex-frp.org")
1426 & elementConfig_eventSpec %~ addEventSpecFlags (Proxy :: Proxy (DomBuilderSpace m)) Click (const preventDefault)
15− & elementConfig_eventSpec %~ addEventSpecFlags (Proxy :: Proxy (DomBuilderSpace m)) Click (const stopPropagation)
1627 (link, a) <- element "a" cfg c
1728 return (domEvent Click link, a)
1829```