jQuery Click Event - Как сказать, была ли мышь нажала или введите клавишу?

У меня есть проблемы с использованием использования на веб-сайте моей. У меня есть набор вкладок, каждый из которых содержит форму. Когда вы нажимаете на ссылку вкладку, она дает фокус на первое текстовое поле на вкладке Content Code. Ориентированные на мыше, люди любят эту «особенность». Проблема в том, что пользователи ориентированные на клавиатуре используют клавишу Tab на своей клавиатуре, чтобы пройти через вкладки. Они попадают в Enter на вкладке, на которые они хотят посмотреть, появляются файлы Click Event, а вкладки отображаются, но фокус приводится в текстовом поле, полностью регулируя их заказ вкладок. Поэтому, когда они снова ударили вкладку, они хотят перейти на следующую вкладку на экране, но поскольку фокус был перемещен внутри формы, они не могут легко добраться до следующей вкладки с помощью клавиатуры.

Итак, внутри события кликов мне нужно определить, действительно ли они нажали на нем с помощью кнопки мыши. Это возможно? Моя первая попытка была это:

$("#tabs li a").click(function(e) {
  var tab = $(this.href);
  if(e.keyCode != 13)
    $("input:first", tab).focus();
});

, но KeyCode всегда 0. , какое свойство также всегда 0. Пожалуйста, помогите!

6
задан Josh Stodola 12 September 2011 в 22:36
поделиться

1 ответ

Ровное простое решение, которое работало на меня, состояло в том, чтобы просто проверить, были ли какие-либо координаты мыши, переданные с событием.

document.addEventListener('click', function(e) {
        //if the event object is passed with mouse coordinates, 
        if(e.screenX && e.screenY){
            //The mouse was clicked
        }else{//The enter key was pressed}

});

0
ответ дан 17 December 2019 в 06:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: