Выбрать - не изменять значение диапаэля для клавиш и даже нажатия клавиш, но запускать событие изменения

$(function(){
  $(".cls_user_details select").keyup(function(){
        $(".cls_user_details select").val("Profile");
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cls_user_settings cls_user_details">
        <select onchange="location = this.options[this.selectedIndex].value;">
           <option Selected>Profile</option>
           <option value="a.php">a</option>
           <option value="b.php">b</option>
           <option value="c.php">c</option>
       </select>
       </div>

Я не могу этого достичь. Я просто хочу включить keyup и keydown, но не менять значение. Но вызвать событие изменения

1 ответ

Я просто поиграл с jsfiddle, чтобы увидеть, какие возможности Chrome есть в элементе select и событиях keyup и keydown для клавиш со стрелками.

Насколько я могу судить, вот возможности и ограничения событий keyup и keydown для элементов select, когда они имеют фокус...

  • событие keydown:
    • Меню выбора элемента не открыто:
      • Нажатие вверх сработает
      • Нажатие вниз вызовет
      • Нажатие любой другой клавиши вызовет
    • Меню выбора элемента открыто:
      • Нажатие вверх не сработает
      • Нажатие вниз не сработает
      • Нажатие любой другой клавиши не сработает
  • событие keyup:
    • Меню выбора элемента не открыто:
      • Нажатие вверх не сработает
      • Нажатие вниз не сработает
      • Нажатие любой другой клавиши не сработает
    • Меню выбора элемента открыто:
      • Нажатие вверх не сработает
      • Нажатие вниз не сработает
      • Нажатие любой другой клавиши не сработает
Другие вопросы по тегам