2011-03-03 94 views
0

我能夠捕獲點擊事件的任何地方在我的表單上,但我的頁面上有一個iframe,當我點擊它沒有獲取捕獲。使用javascript捕獲點擊事件

這裏是一個代碼。

document.onclick = function(e) { alert(e.clientX + "|" + e.clientY); } 

感謝名單

回答

0

BreakHead,

只要幀是在你自己的域名,你可以嘗試:

<body onclick="parent.handleClickEvent(event)"> 

如果它是來自其他網站的框架,那麼同樣的域名政策將不允許訪問,在這種情況下谷歌「JavaScript跨域安全」

1

Iframe不會將他們的點擊事件「冒泡」到父窗口。你將不得不把的iframe頁面上類似的東西,像這樣:

document.onclick = function(e) { 
    if (window.parent.iframeClicked) { 
    window.parent.iframeClicked(e); 
    } 
} 

,然後定義你的父窗口的iframeClicked功能:

function iframeClicked(e) { 
    /* your code here */ 
} 
+0

+1布蘭登,比我的便宜如下更好的嘗試: - ) – 2011-03-03 13:09:00

+0

關於跨域安全性的好處 - 儘管如果iframe加載來自不同域的頁面,它絕對不會工作。 – 2011-03-03 13:14:17