2013-06-04 17 views
5

Wenn ein Benutzer auf ein Bild klickt, möchte ich gleichzeitig einen Klick auf einen bestimmten iFrame auslösen. Ist das möglich? Das Bild und der iFrame befinden sich auf derselben Seite. Wenn ja, kannst du mir bitte den Code zeigen, der funktionieren würde?jQuery, um einen Klick auf einen iFrame auszulösen?

Hier ist, was ich bisher:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
<img id="image" src="https://www.google.com/images/srpr/logo4w.png"> 

<iframe id="iframe" src="http://www.test.com" height= "100" width="160"></iframe> 

<script> 
jQuery("input.image").click(function(){ 
    $("#iframe").click() 
}); 
</script> 

</body> 
</html> 
+2

es ist besser, dass Sie versuchen, es zu tun, dann, wenn Sie ein Problem Beitrag finden der Code für die Auflösung zusammen :) – Somar

+1

OK Ich habe gerade meine ursprüngliche Frage mit dem Code für das, was ich bisher bekommen habe aktualisiert. – user2453693

Antwort

6

Ihre jquery Bildauswahl falsch ist.

Änderung

jQuery("input.image") 

zu

$("#image") 

Dann wird alles funktionieren. Sie können es in diesem

fiddle

Beitrag bearbeiten sehen Wenn die Frage ein Klick auf eines der Elemente in der iFrame enthalten auslösen soll, dann die etwas

$("#iframe").click() 

mit ersetzen wie :

$("#iframe").contents().find("a:first").click(); 

Dies funktioniert nur, wenn der Inhalt der Hauptseite und der iFrame-Seite sind auf derselben Domain. Andernfalls verhindern Browser die Aktion, da Cross-Site-Scripting stattfindet. Sie können in Ihrem Beispiel sehen, die XSS-Prävention in this fiddle

+0

Das funktioniert, irgendwie. Obwohl ich die Meldung "iframe click" erhalte, scheint sie nicht auf den iFrame zu klicken, da der Inhalt des eigentlichen iFrames, wenn er wirklich angeklickt wird, ein anderes Fenster öffnet und das nicht passiert. – user2453693

+0

Ihre Frage wurde gestellt, um einen Klick auf den iFrame auszulösen. Genau das passiert in meinem Beispiel. Ich nehme an, dass Sie daran interessiert sind, einen Klick auf ein Element auszulösen, das sich als Inhalt im iFrame befindet. – dcarson

+0

@ dcarson - Ja, das ist richtig; Entschuldigung, ich war nicht klar. Ich brauche es, um auf den Inhalt im iFrame zu klicken. Insbesondere gibt es eine Verknüpfung innerhalb des iFrame-Inhalts, auf den ich klicken muss. Hier ist eine Kopie des eigentlichen iFrame-Inhalts. Sie können den Link sehen, auf den ich klicken muss, es ist der einzige Link innerhalb des iFrame-Inhalts. http://pastebin.com/cXsuq71P – user2453693

1

wie gezeigt auftritt Ich glaube, Sie so etwas wie dies erforderlich: -

$("#image").click(function(){ 
    var $iframe = $("#iframe").contents(); 
    $("body", $iframe).trigger("click"); 
}); 
+0

Ich habe das versucht und wenn ich auf das Bild klicke, passiert nichts mit dem iFrame.Der Inhalt des iFrames ist auch ein Bild, aber das Bild im iFrame ist ein Hyperlink. Wenn ich also auf das Bild klicke, sollte es auch einen Klick auf den iFrame auslösen, der eine neue Seite öffnen sollte, weil das Bild im iFrame ein Link ist. – user2453693

+0

Bitte überprüfen. Ich habe die neue Antwort hinzugefügt. – pvnarula

Verwandte Themen