rewrite keybindings
This commit is contained in:
parent
cbf41569dc
commit
bc991ca798
47
s/shit.js
47
s/shit.js
@ -1,27 +1,22 @@
|
||||
function arrowKeys(e) {
|
||||
switch(e.keyCode) {
|
||||
case 39:
|
||||
var prev = document.getElementById('prev');
|
||||
if(prev) prev.click();
|
||||
break;
|
||||
case 37:
|
||||
var next = document.getElementById('next');
|
||||
if(next) next.click();
|
||||
break;
|
||||
case 82:
|
||||
var random = document.getElementById('random');
|
||||
if(random) random.click();
|
||||
}
|
||||
}
|
||||
if(document.readyState == 'complete' || document.readyState == 'loaded')
|
||||
document.addEventListener('keydown', arrowKeys);
|
||||
else {
|
||||
if(/Chrome/i.test(navigator.userAgent))
|
||||
window.addEventListener('load', function () {
|
||||
document.addEventListener('keydown', arrowKeys);
|
||||
});
|
||||
else
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
document.addEventListener('keydown', arrowKeys);
|
||||
});
|
||||
const keybindings = {
|
||||
'ArrowLeft': clickOnElementBinding('#next'),
|
||||
'ArrowRight': clickOnElementBinding('#prev'),
|
||||
'r': clickOnElementBinding('#random')
|
||||
};
|
||||
|
||||
function clickOnElementBinding(selector) {
|
||||
return () => {
|
||||
let elem = document.querySelector(selector);
|
||||
if(elem)
|
||||
elem.click();
|
||||
};
|
||||
}
|
||||
|
||||
(function() {
|
||||
document.addEventListener('keydown', e => {
|
||||
if(e.key in keybindings) {
|
||||
e.preventDefault();
|
||||
keybindings[e.key]();
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
Loading…
Reference in New Issue
Block a user