Я работаю над страницей опций для моего расширения Chrome, где пользователь может определить ключ для навигации по клавиатуре на странице.
Поэтому я добавил текст «вход» на мою всплывающую страницу, где пользователь может установить ключ, который он хочет. В данный момент моя функция обнаруживает ключ, переводит его в код ключа и записывает его в скрытый «промежуток». Я сохраняю значение этого «span» локально и получаю его в своем скрипте контента для привязки ключа к функции.
Следующий код прекрасно работает для меня только с одним вводом.
popup.html
<div id="keys-tab">
<input type="text" size="10" maxlength="1" id="theKey" /><span id="response" hidden=""></span>Key 1
</div>
popup.js
if (window.addEventListener)
window.addEventListener("load", keycodes, false);
else if (window.attachEvent)
window.attachEvent("onload", keycodes);
function keycodes() {
var tb = document.getElementById('theKey');
var respText = document.getElementById('response');
respText.innerHTML = '';
function getKeyCode(event) {
event = event || window.event;
return event.keyCode;
}
function resetInput() {
tb.onkeypress = function() {
return false;
}
}
tb.onkeydown = function(event) {
var charCode = getKeyCode(event);
respText.innerHTML = charCode;
tb.value = String.fromCharCode(charCode);
switch (charCode) {
case 8:
tb.value = "Backspace";
break;
}
return false;
}
}
Но теперь я хочу добавить их несколько, чтобы пользователь мог определить разные ключи для разных действий. Моя страница теперь выглядит так. И я хочу, чтобы каждый «вход» делал то же самое.
new_popup.html
<div id="keys-tab">
<input type="text" size="10" maxlength="1" id="theKey_1" /><span id="response_1" hidden=""></span>Key 1<br />
<input type="text" size="10" maxlength="1" id="theKey_2" /><span id="response_2" hidden=""></span>Key 2<br />
<input type="text" size="10" maxlength="1" id="theKey_3" /><span id="response_3" hidden=""></span>Key 3
</div>
Я знаю, что могу работать с "этим", и я попробовал это сам, но не могу заставить его работать. Я надеюсь, что вы можете помочь мне с этим.