mabue88
Goto Top

Object-OnClick-Event von darin geladenem HTML auslösen

Hallo,

ich suche nach einer Möglichkeit um von einer HTML-Datei (html_to_load.html), die innerhalb eines object von einer anderen Seite dargestellt wird, das OnClick-Event des Objects auszulösen.


<object type="text/html" data="html_to_load.html" onclick="object_clicked()"></object>

Content-ID: 257594

Url: https://administrator.de/forum/object-onclick-event-von-darin-geladenem-html-ausloesen-257594.html

Ausgedruckt am: 23.12.2024 um 14:12 Uhr

colinardo
colinardo 13.12.2014 aktualisiert um 11:54:58 Uhr
Goto Top
Hallo mabue,
wenn du deinem Object eine ID verpasst dann kannst du z.B. so das Click-Event des Objects in deiner html_to_load.html triggern:
<body onclick="parent.document.getElementById('testobject').click()">
Der Nutzen scheint mit aber begrenzt, wenn du doch die passende Funktion doch schon aus dem Subdocument direkt aufrufen kannst.

Grüße Uwe
mabue88
mabue88 13.12.2014 um 12:07:49 Uhr
Goto Top
Hallo colinardo,

danke für deinen Tipp. Aber wie du schon vermutest, ist das nicht ganz das was ich will.

Hier nochmal eine genauere Beschreibung:
Ich habe auf einer HTML-Seite mehrere Buttons zum Ausführen diverser Aktionen. Optisch sind diese Buttons identisch, lediglich deren Beschriftung ist unterschiedlich.
Aus diesem Grund habe ich eine HTML-Datei erstellt, welche den Button darstellt. Über einen Get-Parameter wird die Beschriftung eingestellt.

In der eigentlichen HTML-Seite wird diese Seite für jeden benötigten Button mit einem Object-Tag eingefügt.
Um die "Button-HTML" möglichst flexibel zu gestallten würde ich darin nur sehr ungern auf Eigenschaften der "Eltern-HTML" zugreifen.

Wie gesagt, perfekt wäre es, wenn das onclick-Event vom Object-Tag ausgelöst werden würde und ich darin dann eine beliebige Funktion aufrufen könnte:

<object data="button.html?text=Aktion1" onclick="Aktion1_geklickt()"></object>  

Eine Möglichkeit die ich im Netz gefunden habe ist das darüberlegen eines transparenten Divs, über welches das Event ausgelöst wird. Das funktioniert auch soweit, allerdings wird der Quellcode damit deutlich größer und Dinge wie z.B. CSS-Hover funktionieren in der button.html dann nicht mehr...
colinardo
Lösung colinardo 13.12.2014 aktualisiert um 12:39:18 Uhr
Goto Top
Wie gesagt, perfekt wäre es, wenn das onclick-Event vom Object-Tag ausgelöst werden würde und ich darin dann eine beliebige Funktion aufrufen könnte:
OK, das müsste hiermit in deiner "Button-HTML" gehen, damit umgehst du irgendwelche "festen" Referenzen in deiner "Button-HTML"-Datei
onClick="window.frameElement.click()"  
Dies löst dann das click-Event des jeweilig übergeordneten Objects aus.
mabue88
mabue88 13.12.2014 um 12:39:13 Uhr
Goto Top
Perfekt! Das funktioniert genau so wie ich wollte!
Danke!