7

iframe がクリックされたときにクリック機能を起動させようとしていますが、起動しません。それは可能ですか?

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

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

3 に答える 3

10

もう 1 つの解決策は、透明な div をオーバーレイし、その div にクリック イベントを追加することです。作業サンプル: http://jsfiddle.net/w1ll3m/AxJHH/

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

iframe の上に div.overlay を配置するための css:

.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 を追加することもできます: iframe へのクリック イベント ハンドラーの追加

于 2013-05-28T13:11:19.623 に答える