Files: 461fd4459a46469a272bb9fe6c369b1dd1c9323c / lib / observe-link-hover.js
591 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) => v === undefined) |
22 | result.cancel = () => target.set(undefined) |
23 | return result |
24 | } |
25 |
Built with git-ssb-web