Heim >Web-Frontend >js-Tutorial >Wie kann ich Klickereignisse in deaktivierten Eingabefeldern browserübergreifend verarbeiten?

Wie kann ich Klickereignisse in deaktivierten Eingabefeldern browserübergreifend verarbeiten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 14:14:09577Durchsuche

How Can I Handle Click Events on Disabled Input Fields Across Browsers?

Klicken Sie auf Ereignisbehandlung bei deaktivierter Eingabe

In einem HTML-Dokument reagiert ein deaktiviertes Eingabefeld nicht auf Mausereignisse. Während es in einigen Browsern möglicherweise möglich ist, Ereignisse von der deaktivierten Eingabe an übergeordnete Elemente weiterzugeben, unterstützt Firefox dieses Verhalten nicht. Daher ist eine Problemumgehung erforderlich, um die Ereignisbehandlung für deaktivierte Eingaben browserübergreifend zu ermöglichen.

Eine Lösung besteht darin, ein transparentes div-Element über der deaktivierten Eingabe zu platzieren. Dieses Div erfasst das Klickereignis und löst eine Aktion aus, z. B. das Entfernen des deaktivierten Attributs aus der Eingabe und das Setzen des Fokus.

Beispiel-HTML:

<div>

jQuery:

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

Dieses Skript verbirgt das div-Element nach einem Klick und aktiviert die deaktivierte Eingabe. Die Eingabe wird ebenfalls fokussiert, sodass der Benutzer sofort damit interagieren kann.

Arbeitsbeispiel:

http://jsfiddle.net/RXqAm/170/

Durch die Implementierung dieser Problemumgehung können Entwickler sicherstellen, dass deaktivierte Eingabefelder weiterhin Klickereignisse empfangen und gewünschte Aktionen in allen gängigen Browsern auslösen können.

Das obige ist der detaillierte Inhalt vonWie kann ich Klickereignisse in deaktivierten Eingabefeldern browserübergreifend verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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