Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   перемещение по строкам таблицы при помощи стрелок на клавиатуре (https://javascript.ru/forum/jquery/36793-peremeshhenie-po-strokam-tablicy-pri-pomoshhi-strelok-na-klaviature.html)

Сергей1980 27.03.2013 16:36

перемещение по строкам таблицы при помощи стрелок на клавиатуре
 
Уважаемые единомышленники, здравствуйте!
У меня есть один код, который позволяет перемещаться по ячейкам таблицы при помощи клавиш стрелок на клавиатуре. Все работает отлично . Помогли ребята с другого форума. Вот код:
<script>
                window.document.onkeydown = function () {
                        startRefocus();
                }
                function startRefocus(event) {
                        event = event || window.event;
                        //if (!event.ctrlKey) return; 
                        var key = event.keyCode;
                        var targetElement = event.target || event.srcElement;
                        focusMe(targetElement, key);
                }
                function focusMe(input, key) {
                        var needFocusElement = true;
                        function detectColumn(td) {
                                var result = 0, x;
                                while (td = td.previousElementSibling) {
                                        ++result
                                }
                                return result;
                        }
                        try {
                                switch (key) {
                                        case 37:
                                                needFocusElement = input.parentNode.previousElementSibling.querySelector("input");
                                                break;
                                        case 39: 
                                                needFocusElement = input.parentNode.nextElementSibling.querySelector("input");
                                                break;
                                        case 38:
                                                needFocusElement = input.parentNode.parentNode.previousElementSibling.querySelectorAll("td")[detectColumn(input.parentNode)].querySelector("input");
                                                break;
                                        case 40: 
                                                needFocusElement = input.parentNode.parentNode.nextElementSibling.querySelectorAll("td")[detectColumn(input.parentNode)].querySelector("input");
                        break;
                    default:
                        needFocusElement = false;
                                } 
                        } catch (e) {
                                needFocusElement = false;
                        }
 
                        if (!needFocusElement) return;
                        needFocusElement.focus();
                }
        </script>


Хочу теперь написать сам такое ,но при помощи Jquery и покороче. Есть ли возможности у JQ сделать такое? Если да, то подскажите пожалуйста в какую сторону копать?


Часовой пояс GMT +3, время: 16:37.