Ich habe ein Bildlaufverhalten zu einem Formular mit Javascript hinzugefügt: Sobald ich auf ein Formularelement klicke, wird die Seite zu diesem Element gescrollt.Gibt es eine Möglichkeit, auf einen Klick auf ein <select> Element zu reagieren, bevor das Menü geöffnet wird?
Es ist fast gut funktioniert ... durch diese JQuery Verarbeitung auf Klick der formular Elemente:
$('html, body').animate({scrollTop: $(formularElement).offset().top - window.innerHeight/2 }, 500);
Wenn ich das select-Element klicken, wird zuerst das Menü angezeigt und dann die Seite scrollt, während das Auswahlmenü bleibt, wo es ist.
- Gibt es eine Möglichkeit, etwas Code zu verarbeiten, bevor das Menü angezeigt wird?
- Oder könnte ich vielleicht verhindern, das Menü zu öffnen, dann scrollen und nach Codecode öffnen, nachdem das Seitenrollen verarbeitet wurde?
- Oder gibt es eine Möglichkeit, das Fenster zu verschieben, das der Browser für das select-Element öffnet?
Danke, aber sollte das Scrollen passieren, wenn ein Element ... tut es also bei Änderung helfen nicht angeklickt wird nicht. –
hat eine kleine Verbesserung vorgenommen; Wird dir das helfen? –
Ich bin mir nicht sicher .... warum es sollte. Probieren Sie das Beispiel hier aus ... die preventDefault() -Methode verhindert nicht das Öffnen des Auswahlmenüs, so dass meine Seite immer noch wegscrollt .... –