jQuery触发iFrame上的点击?

时间:2013-06-04 22:59:46

标签: jquery

如果用户点击我想要的图像,同时也会触发指定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>

2 个答案:

答案 0 :(得分:12)

您的jquery图像选择器错误。

变化

jQuery("input.image")

$("#image")

然后一切都会奏效。您可以在此fiddle

中看到它

发布修改

如果问题是触发点击iFrame中包含的其中一个元素,那么替换

$("#iframe").click()

有类似的东西:

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

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

中进行演示

答案 1 :(得分:3)

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

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