You need to use the "input" event instead of the "keyup"
Keyboard event order (HTML5) - keydown-> keypress-> input-> keyup.
The input event will lack some properties that are also passed to keyup, such as keyCode / metaKey / shiftKey / altKey
I used:
var inputEV = 'oninput' in the window? 'input': 'keyup'
to identify the event that triggered my call autocomplete in the Silk browser.
The jQuery code used by jsfiddle to validate it.
(function($){ $(document).ready(function(){ var inputEV = 'oninput' in window ? 'input' : 'keyup'; $('#listen').on(inputEV,function(event){ $('#show').val($('#show').val()+'\n'+event.type); console.log('--- input event ----'); for(var v in event.originalEvent){ if(event.hasOwnProperty(v)){ console.log(v+' |--> '+event[v]); } } })
jsfiddle link:
http://jsfiddle.net/visionmonster/eJJna/embedded/result/
As in the original question, I could only get a Silk browser for listening to delete / enter keys
HTML5 Specification: http://www.whatwg.org/specs/web-apps/current-work/#handler-oninput
vrtis source share