12

如果用户单击图像,我希望它同时触发对指定 iFrame 的单击。那可能吗?图像和 iFrame 位于同一页面上。如果是这样,你能告诉我可行的代码吗?

这是我到目前为止所拥有的:

<!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>
4

2 回答 2

19

您的 jquery 图像选择器是错误的。

改变

jQuery("input.image")

$("#image")

然后一切都会奏效。你可以在这个小提琴中看到它

发布编辑

如果问题是触发对 iFrame 中包含的元素之一的点击,则替换

$("#iframe").click()

有类似的东西:

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

这仅在主页的内容和 iFrame 的页面在同一个域中时才有效。否则浏览器将阻止该操作,因为它是跨站点脚本。您可以在您的示例中看到,将发生 XSS 预防,如本小提琴所示

于 2013-06-04T23:33:52.250 回答
3

我认为您需要这样的东西:-

$("#image").click(function(){
     var $iframe = $("#iframe").contents();
     $("body", $iframe).trigger("click");
});
于 2013-06-04T23:34:06.433 回答