-->

Jquery keyup not working on Android

2019-01-25 13:24发布

问题:

i didn't tested this code on iPhone but i'm sure (tested) it doesn't works on android mobiles:

 $('#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();
          }
      });

to explain better :

i have a simple

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

don't know why but this code doesn't works properly on android mobile phones

any ideas?

回答1:

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

or

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

You can also see here



回答2:

My solution (working with jQuery 1.7.1):

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

Tip:

Use .on() instead of .live(), because:

  • .on() is faster
  • .live() is deprecated

jQuery 1.7+ .on() vs .live() Review

Try this:

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