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>  

Hier die "html_to_load.html":
<html>
	<head>
		<title>Seitentitel</title>
	</head>
	<body onclick="...">  
		...
	</body>
</html>

Durch die Verwendung von ' onclick="parent.function_to_call()" ' in der "html_to_load.html" habe ich es bislang nur geschafft eine JavaScript-Funktion innerhalb des Codes, in dem das object verwendet wird aufzurufen.
Aber lieber wäre es mir, wenn ich das "onclick"-Event von der "html_to_load.html" direkt an das "onclick"-Event des objects leiten könnte.

Gibt es dafür eine Lösung?

Danke

Content-Key: 257594

Url: https://administrator.de/contentid/257594

Printed on: April 19, 2024 at 03:04 o'clock

Member: colinardo
colinardo Dec 13, 2014 updated at 10:54:58 (UTC)
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
Member: mabue88
mabue88 Dec 13, 2014 at 11:07:49 (UTC)
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...
Member: colinardo
Solution colinardo Dec 13, 2014 updated at 11:39:18 (UTC)
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.
Member: mabue88
mabue88 Dec 13, 2014 at 11:39:13 (UTC)
Goto Top
Perfekt! Das funktioniert genau so wie ich wollte!
Danke!