7

我试图在点击 iframe 时触发点击功能,但它不会触发。有可能吗?

$("#iframe").click(function() {
alert("works");
});

<iframe id="iframe" src="http://site.com" scrolling="no"></iframe>
4

3 回答 3

10

另一种解决方案是覆盖透明 div 并向该 div 添加点击事件。工作样本:http: //jsfiddle.net/w1ll3m/AxJHH/

<div class="container">
    <iframe src="#url"></iframe>
    <div class="overlay"></div>
</div>

css 将 div.overlay 定位在 iframe 上:

.container{position:relative;float:left;}
.overlay{top:0;left:0;width:100%;height:100%;position:absolute;}

添加事件:

$('.overlay').click(function(){alert('hello');});
于 2013-05-28T13:21:56.420 回答
5
$iframe = $( document.getElementById("myiframe").contentWindow.document );

$iframe.find("body").click(function(){
    alert("hey");
});

http://jsfiddle.net/cRDjV/81/

于 2013-05-28T13:12:29.330 回答
2

不可以。您需要在 iFrame 中执行此操作,而不是在父级中。

但是,您可以添加一个 EventListener:Adding click event handler to iframe

于 2013-05-28T13:11:19.623 回答