2016-05-11 9 views
0

In mobilen Browser, wenn der Fokus Eingabetext, ich diese Eingabe blätternKann die Eingabe nach dem Scrollen nicht fokussieren?

$(this.$el).find('input, textarea').on('focus', function(e) { 
    setTimeout((function() { 
    var pos = $(this).position(); 
    if (pos.top > window.innerHeight) { 
     var scrollTopOffset = pos.top - window.innerHeight + this.offsetHeight + 10 
     $scroller.scrollTop($scroller.scrollTop() + scrollTopOffset) 
    } 
    }).bind(this), 500); // After the keyboard up 
    $(this).focus() 
}) 

nach der Eingabe blättern in die richtige Position nach oben wollen,

die Eingabe nicht konzentrieren können

Touch-Fokus der Eingang dann ist ok, danach die Tastatur nach oben dann den Eingang nach oben scrollen, dann den Fokus loslassen

Wie den Eingang nach Scroll Fokus?

+0

Ich sehe keine Frage hier. Können Sie ein wenig klarer sein – Deryck

+0

@Deryck meine Frage bearbeitet, dosiere es jetzt klar? –

+0

Nun, ich bin nicht sicher, warum es nach scroll unfokussiert wäre, aber Sie könnten versuchen, die '$ (this) .focus()' ** innerhalb ** der 'setTimeout()' zu setzen, so dass es nach dem Scroll-Vorgang ausgelöst wird – Deryck

Antwort

1

Ich habe dies versucht, durch den Browser für den mobilen emulieren und es funktioniert.

$('input, textarea').on('focus', function() { 
    document.body.scrollTop = $(this).offset().top; 
    $(this).focus(); 
}); 
0

Hoffnung Dies wird Ihnen helfen .. Danke

var cursorFocus = function(elem) { 
     var x = window.scrollX, y = window.scrollY; 
     elem.focus(); 
     window.scrollTo(x, y); 
    } 

    cursorFocus(document.getElementById('search-terms')); 
+0

danke, aber das kann immer noch nicht funktionieren –

Verwandte Themen