Perhaps it is irrelevant to your question since it does require transpilation (Purescript Module), but I have recently fallen in love with the Deku UI framework in Purescript. It works in an FRP style and draws direct influence from React. Purescript is SUPER obscure, but in this context, FRP is really elegant. It even has a mechanism to type-check raw chunks of html at compile time.
The Documentation: https://deku-documentation.vercel.app/
the part most relevant to your question: https://deku-documentation.vercel.app/functional-reactive-programming/events