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
Patricia ArquetteOriginal
2024-12-19 08:40:16894Durchsuche

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>
$("div > div").click(function (evt) {
    $(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});

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!

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