Rufen Sie die Standardaktion eines bestimmten Ereignisses für ein Objekt auf
Ich möchte einen generischen (browserübergreifenden) Weg, um den Browser zum Ausführen desdefault action
für ein Objekt für ein bestimmtes Ereignisam besten ohne angeschlossene Zuhörer zum Feuern zu bringen.
Diese Art von Frage wurde schon früher gestellt, aber im Zusammenhang mitbereits in einer Veranstaltung sein, & / oder genau gesagtSynchrones Ausschalten der Standardaktion, bevor sie später ausgeführt wird.
Angenommen, Sie haben eine DOM-Elementvariable (Sie wissen nicht, welche) und möchten eine aufrufenclick
, so dass, wenn es eine wäreanchor
würde es folgenhref
, wenn es eine wäreinput[type="submit"]
es würde das Formular einreichen.
Aber ohne die Zuhörer dieses Elements für dieclick
Ereignis (das anfällig sein kannpreventDefault()
s in den Zuhörern).
Für diejenigen, die einen Grund brauchen, Fragen zu beantworten; Siekann wollen es tun, wenn Sie so etwas implementierendispatchEvent()
für Browser, die nur habenfireEvent()
.
Beide Funktionen kehren zurücktrue
wenn der Standard nicht 'verhindert' wurde, sondern nurdispatchEvent()
folgt tatsächlich durch und ruft die Standardeinstellung auf.
Als Nebenfrage, jQuery'strigger()
soll dies tun (obwohl nach dem feuern der hörer) und browserübergreifend sein, gibt es vielleicht die lösung? So schön wie jQuery ist, möchte ich die Vanillemethoden kennen, die es aufruft (wenn es [dieses spezielle Feature] tatsächlich für Dinge wie IE8 funktioniert).