2011-12-29 44 views
0

我有一個加載到iframe中的文檔。現在我想知道該文檔的「body」元素何時獲得事件「焦點」。我已經在其他瀏覽器中使用addEventListener成功,但IE(8到具體)給了我這個錯誤:frame.addEventListener在IE上不起作用

Object doesn't support this property or method 

我實現這樣的:

//This works in Chrome, Opera, Safari and Firefox but not in IE 

var myFrame = document.getElementById("my-i-frame"); 
var frame = (myFrame.contentWindow || myFrame.contentDocument); 
frame.addEventListener("focus", function(){alert('works')},false); 

我也試過:

frame.document.addEventListener("focus", function(){alert('works')},false); 

之前你問爲什麼要這麼做?讓我來解釋一下:

我創建了一個HTML所見即所得edito r和我想調整我的iframe,當用戶點擊幀內開始編輯。要做到這一點,我能想到的唯一方法就是進行「關注」事件,然後做我想要做的事情。我希望這聽起來清晰(否則原諒我,我不是很會講英語的:-))。

回答

2

嘗試:

 

if(iframe.addEventListener) 
    iframe.addEventListener('load', func, true); 
else if(iframe.attachEvent) 
    iframe.attachEvent('onload',func); 
 
+0

謝謝Sudhir。我曾嘗試使用attachEvent,但我忘記將事件參數「focus」更改爲「onfocus」。奇蹟般有效 :-) – Sthe 2011-12-29 06:13:09