-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfoo.js
61 lines (58 loc) · 1.06 KB
/
foo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const uniq = require('arr-union')
const events = require('./src/events')
const arr = [
// attribute events (can be set with attributes)
'onclick',
'ondblclick',
'onmousedown',
'onmouseup',
'onmouseover',
'onmousemove',
'onmouseout',
'onmouseenter',
'onmouseleave',
'ontouchcancel',
'ontouchend',
'ontouchmove',
'ontouchstart',
'ondragstart',
'ondrag',
'ondragenter',
'ondragleave',
'ondragover',
'ondrop',
'ondragend',
'onkeydown',
'onkeypress',
'onkeyup',
'onunload',
'onabort',
'onerror',
'onresize',
'onscroll',
'onselect',
'onchange',
'onsubmit',
'onreset',
'onfocus',
'onblur',
'oninput',
// other common events
'oncontextmenu',
'onfocusin',
'onfocusout'
]
const res = uniq(arr, events).filter(function excludeEvents (name) {
const is = [
'onresume',
'onfreeze',
'onreadystatechange',
'onpointerlockchange',
'onpointerlockerror',
'onselectionchange',
'onvisibilitychange',
'onsecuritypolicyviolation'
].includes(name)
return !is
})
console.log(res.length)