case "w":alert('текст сообщения!');break; без проблем работает
как привязать событие на клик <button id="up">▲</button> по аналогии с нажатием мышью ?
Вот пример моего html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Р РѕР±РѕС‚</title>
<link rel="stylesheet" href="script.css">
<script src="/jquery.js"></script>
<script src="/script.js"></script>
</head>
<body>
<div id="wrapper">
<button id="up">▲</button>
<button id="left">◄</button>
<button id="right">►</button>
<button id="down">▼</button>
</div>
</body>
<script src="https://unpkg.com/hotkeys-js/dist/hotkeys.min.js"></script>
<script type="text/javascript">
hotkeys('w,s,a,d', function(event,handler) {
switch(handler.key){
case "w":document.getElementById('up').click();break;
case "s":document.getElementById('down').click();break;
case "a":document.getElementById('left').click();break;
case "d":document.getElementById('down').click();break;
}
});
</script>
</html>
пример script.js
var robot = {
ports: {
up: 6,
right: 13,
left: 19,
down: 26
},
ready: function() {
console.log('started');
$('#up, #right, #left, #right, #down').on({
mousedown: robot.start,
mouseup: robot.end
});
},
start: function() {
robot.send(this.id, 1);
},
end: function() {
robot.send(this.id, 0);
},
send: function(port, value) {
$.ajax({
type: 'POST',
url: '/GPIO/' + robot.ports[port] + '/value/' + value
});
}
};
$(document).ready(robot.ready);