Heim  >  Artikel  >  Web-Frontend  >  Können Unschärfeereignisse das Element identifizieren, das das Ereignis ausgelöst hat?

Können Unschärfeereignisse das Element identifizieren, das das Ereignis ausgelöst hat?

DDD
DDDOriginal
2024-10-19 14:42:02659Durchsuche

Can Blur Events Identify the Element That Triggered the Event?

Elementfokusempfänger nach Unschärfeereignis verfolgen

Problem:

Betrachten Sie ein HTML-Eingabefeld mit angeschlossener Unschärfefunktion. Gibt es in dieser Funktion eine Methode, um das Element zu identifizieren, das das Unschärfeereignis ausgelöst hat (d. h. den Fokus erhalten hat)?

Beispiel:

<code class="html"><input id="myInput" onblur="function() { ... }"></code>

Wenn eine Spanne mit ID „mySpan“ wird angeklickt, nachdem das Eingabeelement den Fokus hat. Wie kann die Unschärfefunktion feststellen, dass mySpan fokussiert war?

Lösung:

Gemäß der UI-Ereignisspezifikation, die relatedTarget-Eigenschaft des Ereignisses kann verwendet werden:

Für Unschärfeereignisse:

  • relatedTarget: Ereignisziel, das den Fokus erhält.

Codebeispiel:

<code class="javascript">function blurListener(event) {
  event.target.className = 'blurred';
  if (event.relatedTarget)
    event.relatedTarget.className = 'focused';
}

[].forEach.call(document.querySelectorAll('input'), function(el) {
  el.addEventListener('blur', blurListener, false);
});</code>

In diesem Beispiel werden unscharfe Elemente orange, während fokussierte Elemente gelb werden.

Das obige ist der detaillierte Inhalt vonKönnen Unschärfeereignisse das Element identifizieren, das das Ereignis ausgelöst hat?. 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