frame.addEventListener не работает на IE - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть документ, который загружается в iframe.Теперь я хотел бы знать, когда элемент «body» этого документа получает событие «focus».Я успешно использовал addEventListener в других браузерах, но IE (8, если быть точным) выдает мне эту ошибку:

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-редактор WYSIWYG и хотел бы изменить размер своего iframe, когда пользователь нажимаетвнутри рамки, чтобы начать редактирование.Чтобы сделать это, единственный способ, о котором я мог подумать, - это иметь событие «focus», а затем делать то, что я хочу, всякий раз, когда оно запускается.Я надеюсь, что это звучит ясно (иначе простите меня. Я не очень говорю по-английски :-))

Ответы [ 2 ]

2 голосов
/ 29 декабря 2011

Попробуйте:


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

0 голосов
/ 29 декабря 2011

IE8 не поддерживает addEventListener .

...