Как назначить одну и ту же клавиатурную комбинацию для двух элементов?
Есть вот такой код:
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, время: 03:22. |