OnClick函数不会触发iframe?

use*_*989 1 javascript jquery

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

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

<iframe id="iframe" src="http://site.com" scrolling="no"></iframe>
Run Code Online (Sandbox Code Playgroud)

Wil*_*lem 6

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

<div class="container">
    <iframe src="#url"></iframe>
    <div class="overlay"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

css将div.overlay放在iframe上:

.container{position:relative;float:left;}
.overlay{top:0;left:0;width:100%;height:100%;position:absolute;}
Run Code Online (Sandbox Code Playgroud)

添加活动:

$('.overlay').click(function(){alert('hello');});
Run Code Online (Sandbox Code Playgroud)

  • 但是你不能与iframe互动:( (5认同)

r04*_*43v 5

$iframe = $( document.getElementById("myiframe").contentWindow.document );

$iframe.find("body").click(function(){
    alert("hey");
});
Run Code Online (Sandbox Code Playgroud)

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

  • 这仅适用于授权的子域或相同的域,如果 iframe 引用不同的域,则无效 (3认同)