У меня уже есть серия событий нажатия клавиш, чтобы вызвать звук, запустить обратный отсчет и многое другое.
Я также хочу, чтобы keycode менял значение пары input[type=number]
, либо вычитал, либо добавлял значение путем инкрементальности -1/+ 1 при каждом нажатии клавиши. Я сделал несколько поисков, но не мог дать мне окончательного руководства.
Вот что у меня в заголовке.
function runScript(e){
if(e.keyCode == 32 && e.shiftKey){
gameclock();
}}
и по моему html
<body onkeydown="runScript(event)">
...
<input id="whateverID1" type="number" value="00">
Скажем, если я хочу добавить #whateverID1
значение, нажав =
и вычтем #whateverID1
значение, нажав -
, оцените любое руководство по тому, как я могу это достичь. Большое спасибо.
Я пробовал это, но, похоже, не работает.
var CounterName = 0;
if(e.keyCode == 49 ) {
document.getElementById('whateverID1').value = ++CounterName;
}
if(e.keyCode == 50 ) {
document.getElementById('whateverID1').value = --CounterName;
}
Во-первых, использование onclick/onkeydown в html обычно является плохой практикой. Скорее, дайте элементу id или класс и вместо этого добавьте eventListener из JS.
Попробуйте это ниже, jsfiddle работает и должен позволить вам делать то, что вы хотите:
document.getElementById("bodyId").addEventListener("keydown", function (event) {
var CounterName = 1;
var currentValue = parseInt(document.getElementById('whateverID1').value);
if(event.keyCode == 187) {
document.getElementById('whateverID1').value = currentValue + CounterName;
}
else if(event.keyCode == 189) {
document.getElementById('whateverID1').value = currentValue - CounterName;
}
});
http://jsfiddle.net/Maxmaxs5/7thqo0zs/7/
Если это поможет или вам нужно что-нибудь еще, дайте мне знать!
if(event.key == "=" && event.shiftKey )
не будет работать для комбинации клавиш?key
не любит работать, поэтомуkeyCode
на самом деле лучше. Попробуйтеif(event.keyCode == 187 && event.shiftKey)
. Код для=
187, а для-
189. Если вам нужно найти коды клавиш для других ключей, вы можете найти их или просто сделатьconsole.log(event.keyCode)
. Коды символов и коды клавиш не совпадают, что, я уверен, может легко запутать людей. Надеюсь, что это исправит, если так, дайте мне знать!