2013-05-28 102 views
0

我試圖讓點擊功能在iframe被點擊時觸發,但它不會觸發。可以做到嗎?OnClick函數不會觸發iframe?

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

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

回答

3

另一個解決方案是覆蓋透明的股利和點擊事件添加到該分區。 工作樣本: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');}); 
+2

但是,你不能與iframe進行交互:( –

2

不需要,您需要在iFrame內部而不是父級。

您可以但是,添加一個事件監聽:Adding click event handler to iframe

+0

並非不可能發生在某些情況下創建一個腳本功能之外。 –

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

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

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

+0

不起作用... – user198989

+0

嘗試編輯 – r043v

+0

這隻適用於授權子域或相同域,如果iframe引用做不同域 –