Показать сообщение отдельно
  #6 (permalink)  
Старый 22.09.2009, 15:37
Аватар для mcfly
Интересующийся
Отправить личное сообщение для mcfly Посмотреть профиль Найти все сообщения от mcfly
 
Регистрация: 21.09.2009
Сообщений: 26

Нашел на форуме тему тема. Там указано как вешать событие на нажатие кнопки в iframe

Вот это:
var iframe = document.getElementById("идентификатор_фрейма");
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
 
iframeDocument.designMode = "On";
 
iframeDocument.onkeypress = function(e) {
    …
};


Его адаптировал для своего скрипта:
var NewTextArea={
  frame:{},
  document:{},
  window:{},
  init:function(frame){
    NewTextArea.frame=frames[frame]?frames[frame]:document.getElementById(frame);//IE, Opera - frames.document, другие - ById.document

    if (!NewTextArea.frame){
      //alert("Ошибка ID");
      return -1;
    }

    //1) получить указатель
    NewTextArea.document=NewTextArea.frame.contentDocument || NewTextArea.frame.document || NewTextArea.frame.contentWindow.document;
    if (!NewTextArea.document){
      //alert("Ошибка iframe");
      return -2;
    }

    NewTextArea.window=NewTextArea.frame.contentWindow || NewTextArea.frame.window;
    if (!NewTextArea.window){
      //alert("window");
      return -2;
    }

    //2) Оформить iframe HTML документ
    var HTML = "<html><head></head><body>";
    HTML += "</body></html>"

    NewTextArea.document.open();
    NewTextArea.document.write(HTML);
    NewTextArea.document.close();

    //3) Установить designMode
    if (NewTextArea.document.designMode){
      NewTextArea.document.designMode='on';
    }else{
      alert("Ошибка designMode");
      return -3;
    }

    NewTextArea.document.onkeypress = function(e) {
      alert('УРААА!!!');
    };

  }
}


Но все ровно при вводе текста в редактор, "УРААА!!!" не выводится

Что я неправильно делаю?

Последний раз редактировалось mcfly, 22.09.2009 в 15:40.
Ответить с цитированием