Files: a84aec048346a76c0e35e32f7a6d9c3373a2ee49 / lib / observe-link-hover.js
609 bytesRaw
1 | var Sustained = require('./sustained') |
2 | var Value = require('mutant/value') |
3 | |
4 | module.exports = function (root, delay) { |
5 | var target = Value() |
6 | root.addEventListener('mouseover', (ev) => { |
7 | var anchor = null |
8 | for (var n = ev.target; n.parentNode; n = n.parentNode) { |
9 | if (n.nodeName === 'A') { |
10 | anchor = n |
11 | break |
12 | } |
13 | } |
14 | target.set(anchor) |
15 | }) |
16 | |
17 | root.addEventListener('mouseleave', (ev) => { |
18 | target.set(false) |
19 | }) |
20 | |
21 | var result = Sustained(target, delay || 500, (v) => { |
22 | return v === undefined |
23 | }) |
24 | |
25 | result.cancel = () => target.set(undefined) |
26 | return result |
27 | } |
28 |
Built with git-ssb-web