Das Beispiel in diesem Artikel beschreibt die Verwendung von Javascript-Delegat (Delegate) für Unschärfe und Fokus. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Opera (9.5b) kann nicht für alle Fokus- und Unschärfeereignisse zweimal korrekt ausgelöst werden
Daher können Handler für Fokus- und Unschärfeereignisse an die Erfassungsphase des Ereignisses delegiert werden.
Beispiel 1 (Listenklasse):
- Listenelement 1
;
;
Andere Listenelemente
Beispiel 2 (Formularklasse):
Andere Formularelemente
Was wir hier überwachen, ist der äußerste Ol-Block. Wenn wir Unschärfe- und Fokusereignisse verwenden, gilt dies nur für den gesamten Ol. Wie gehen wir also mit den Fokus- und Unschärfeereignissen der Steuerelemente im Inneren um?
Die Verarbeitungsmethode ist wie folgt:
IE-Verarbeitung:
$('List').onfocusin = handleMouseOver;
$('List').onfocusout = handleMouseOut;
kann auch in der folgenden Form geschrieben werden:
Wenn Sie Parameter übergeben möchten, können Sie eine Zwischenfunktion hinzufügen, z. B.
Code kopieren
Der Code lautet wie folgt:$('list').attachEvent('onfocusout',function( event, myparams ){handleMouseOut(event, myparams);},true);
FF-Verarbeitung:
Code kopieren
Der Code lautet wie folgt:$('list').addEventListener('focus',handleMouseOver, wahr);
$('list').addEventListener('blur',handleMouseOut,true);
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.