JQuery.keyup() не работает

У меня есть этот код:

<script>
$('#searchInput').keyup(function() {
alert('Handler for .keyup() called.');
});
</script>

и этот ввод:

<input id='searchInput' type='text' placeholder='Search other alumni users' />

но когда я нажимаю клавишу, предупреждение не появляется... Я уже включил jQuery script.

Ответ 1

Измените свой код на

$(function(){ // this will be called when the DOM is ready
  $('#searchInput').keyup(function() {
    alert('Handler for .keyup() called.');
  });
});

чтобы гарантировать, что элемент DOM существует, когда вы создаете набор jQuery.

Ответ 2

$(document).ready(function() {
  $('#searchInput').keyup(function() {
    alert('Handler for .keyup() called.');
  });
});

или

$(function() { 
  $('#searchInput').keyup(function() {
    alert('Handler for .keyup() called.');
  });
});

Ответ 3

keyup/keydown, похоже, работают только с элементами, присутствующими в document.ready.

Если вы запускаете свое событие из элементов, которые были изменены или введены после публикации pageload, эти события не будут срабатывать.

Обнаружение или создание родительского элемента, подлежащего просмотру, присутствующего при загрузке, тогда установка события для запуска из этого родительского элемента может обойти это.

Ответ 4

Это сработало для меня:




    jQuery(".divForinput1 > input").keyup(function() {
    var value = $( this ).val();
    jQuery( ".divForinput2 > input" ).val( value );
    }).keyup();

//the .keyup on the end maybe what many are missing

Ответ 5

В моем случае у меня было несколько функций в $(document).ready(function () {});

Изменив порядок моих функций Keyup, т.е. разместив их наверху... в готовом документе, похоже, сделал трюк. Мое предположение заключается в том, что одна из других функций заключалась в том, что они нарушали функцию keyup по какой-либо причине?