JQuery keyup не работает на Android

Я не тестировал этот код на iPhone, но я уверен (протестирован), что он не работает на мобильных телефонах android:

 $('#search').live('keyup',function(key){
          if(key.which == 13){
            /*ANIMATE SEARCH*/
            _key = $(this).val();
            $("#wrapper").html("");
                $('#wrapper').hide(0).load('results.html').fadeIn(800);
                $('#search-fade').val(_key).fadeIn();
          }
      });

чтобы лучше объяснить :

у меня простой

<input type="text" name="search" id="search"/>

не знаю почему, но этот код не работает на Android мобильных телефонов

какие идеи?

2 ответов


$(document).on('keyup','#search', function() {
   // code
});

или

$(document).delegate('#search', 'keyup', function() {
    // code
});

Вы можете ознакомиться здесь


мое решение (работа с jQuery 1.7.1):

$('#search').live('input paste', yourFunction)

Совет:

использовать .on() вместо .live() потому что:

  • .on() быстрее
  • .live() - это устаревший

jQuery 1.7+ .on () vs .live () обзор

попробуйте это:

$(document).on('input paste', '#search', yourFunction)