Показать сообщение отдельно
  #2 (permalink)  
Старый 30.03.2013, 15:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А к чему все эти пляски с какими-то непонятными атрибутами?

var keyCodes = {
    112 : 'F1',
    113 : 'F2',
    ..
}

var buttonKeys = {
    'Вперед' : 'F1',
    'Назад' : 'F2',
    ..
}

// сопоставляет клавиши (F1, F2, ..) элементам
var keyMap = {};

var buttons = document.getElementsByTagName('input');
for (var i = 0, button; button = buttons[i]; i++) {
    if (button.value in buttonKeys) {
        // меняем надпись ..
        // {'F1': this, ..}
        keyMap[ buttonKeys[button.value] ] = this;
    }
}

document.onkeydown = function(e) {
    var key = keyCodes[e.keyCode];
    if (key in keyMap) {
        var target = keyMap[key];
        target.click();
    }
}


Кстати, события из фрейма не всплывают в родительский документ, если что.
Ответить с цитированием