Skip to content

Instantly share code, notes, and snippets.

View Rosefalk's full-sized avatar
:octocat:

Rosefalk

:octocat:
View GitHub Profile
@jrsinclair
jrsinclair / dom-listening.js
Last active September 4, 2019 12:22
Fun with binding event handlers
const setAttr = _.curry((attrName, el, val) => { el.setAttribute(val)); return el; });
const listen = _.curry((evtName, el, f) => { el.addEventListener(evtName, f); return el; })
const bindCreateResultButton = (createResultButton, postTextarea, getPostData, preTextarea) =>
_.compose(
listen('click', createResultButton),
_.compose(x => () => setAttr('value', postTextArea, x), getPostData),
)(preTextArea);