Key event doesnt trigger in Firefox on Android when word suggestion is on

前端 未结 3 871
后悔当初
后悔当初 2020-12-17 22:45

I have a search field that triggers an autocomplete search while typing. I have it trigger on keyup. This works perfectly in most browsers, but in Firefox on Android, this d

3条回答
  •  感动是毒
    2020-12-17 23:01

    Trough the fact that Firefox on Android doesn't trigger key-events, but also triggers the input-event some kind of weird, (like if you press one key two events get triggerd, and it also triggers the input-event if you leave the input) I had to write my own event:

    (function($){
    var $event = $.event,
        $special = $event.special.fennecInput = {
            setup: function(){
                $(this).on('input',$special.handler);
            },
            teardown: function(){
                $(this).off('input',$spceial.handler);
            },
            handler: function(event) {
                var context = this,
                    args = arguments,
                    dispatch = function() {
                        event.type='fennecInput';
                        $event.dispatch.apply(context,args);
                    };
                if($(context).val() != $(context).attr('data-fennecInput-oldval')){
                    dispatch();
                    $(context).attr('data-fennecInput-oldval',$(context).val());
                }
            }
        };
    })(jQuery);
    

    this event gets only triggered if an input-event happens that changes the value, so it doesn't execute events unnecessary.

提交回复
热议问题