Heim > Web-Frontend > js-Tutorial > Wie kann ich in Browsern wie Firefox Ereignisse für deaktivierte Eingabeelemente auslösen?

Wie kann ich in Browsern wie Firefox Ereignisse für deaktivierte Eingabeelemente auslösen?

Patricia Arquette
Freigeben: 2024-12-19 08:40:16
Original
827 Leute haben es durchsucht

How Can I Trigger Events on Disabled Input Elements in Browsers Like Firefox?

Problemumgehung für Ereignisse bei deaktivierten Eingabeelementen

Deaktivierte Eingabeelemente lösen normalerweise keine Mausereignisse aus. Während die meisten Browser Ereignisse von deaktivierten Elementen an ihre übergeordneten Container weitergeben, unterstützt Firefox dieses Verhalten nicht. Dies kann in bestimmten Szenarien zu Herausforderungen führen.

Problem:

Sie müssen Ereignisse auf deaktivierten Eingabeelementen verarbeiten, aber das Standardverhalten verhindert dies.

Lösung:

Um dieses Problem zu lösen, kann eine Technik eingesetzt werden, um Ereignisse von einem deaktivierten Eingabeelement abzufangen und ein auszulösen Klicken Sie auf ein angrenzendes Element, das nicht deaktiviert ist.

Hier ist eine Beispielimplementierung mit HTML und jQuery:

<div>
Nach dem Login kopieren
$("div > div").click(function (evt) {
    $(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});
Nach dem Login kopieren

In diesem Beispiel überlappt das div-Element das deaktivierte Eingabeelement. Wenn auf das Div geklickt wird, wird ein Klick auf das Eingabeelement ausgelöst, das wiederum das Eingabeelement aktiviert und den Fokus darauf setzt.

Beispiel:

Besuchen Sie die Folgen Sie dem JSFiddle-Beispiel, um diese Technik zu sehen Aktion:

https://jsfiddle.net/RXqAm/170/

Das obige ist der detaillierte Inhalt vonWie kann ich in Browsern wie Firefox Ereignisse für deaktivierte Eingabeelemente auslösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage