Как назначить одну и ту же клавиатурную комбинацию для двух элементов?
Есть вот такой код:
e2_ctrl_navi = function(event) {
if (window.event) event = window.event
var target = (event.srcElement || event.target).tagName;
if (/textarea|input/i.test(target)) return
if (
(document.e2.mac && event.altKey) || (!document.e2.mac && event.ctrlKey)
) {
var link = null
if (37 == event.keyCode) link = document.getElementById('link-prev')
if (39 == event.keyCode) link = document.getElementById('link-next')
if (38 == event.keyCode) link = document.getElementById('link-later')
if (40 == event.keyCode) link = document.getElementById('link-earlier')
if (link && link.href) {
location.href = link.href
if (window.event) window.event.returnValue = false
if (event.preventDefault) event.preventDefault()
}
}
}
Для всех четырех id назначены разные сочетания клавиш. А мне надо, что-то типа этого:
if (37 == event.keyCode) link = document.getElementById('link-prev')
if (39 == event.keyCode) link = document.getElementById('link-next')
if (39 == event.keyCode) link = document.getElementById('link-later')
if (37 == event.keyCode) link = document.getElementById('link-earlier')
Для #link-prev и #link-earlier должна быть одинаковая комбинация клавиш. Так же и для #link-next и #link-later. Но в таком виде это не работает. P. S. В одно и тоже время на странице встречается только одна из пар, так что конфликтов быть не должно. |
Вопрос решен:
e2_ctrl_navi = function(event) {
if (window.event) event = window.event
var target = (event.srcElement || event.target).tagName;
if (/textarea|input/i.test(target)) return
if (
(document.e2.mac && event.altKey) || (!document.e2.mac && event.ctrlKey)
) {
var link = event.keyCode === 37 ? document.getElementById('link-prev') || document.getElementById('link-earlier') : event.keyCode == 39 ? document.getElementById('link-next') || document.getElementById('link-later') : null;
if (link && link.href) {
location.href = link.href
if (window.event) window.event.returnValue = false
if (event.preventDefault) event.preventDefault()
}
}
}
|
| Часовой пояс GMT +3, время: 17:05. |