Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Событие в iframe с designMode='On'. Под ИЕ у объекта window.event нет св-в 
V
    Опции темы
Burrr
Дата 5.6.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Переходя ближе к делу вот код:
Код
<body onload=enableDisignMode()>
<iframe id=iframeId width=300 height=200></iframe>
<br>
<div style="font-size:11px;font-family:tahoma">Нажата клавиша: <b><span id=forShow></span><b></div>
<script>
d = document;
function gebi(id) {return d.getElementById(id)}
function enableDisignMode() {
    if (document.all) {//IE
        var frm = frames["iframeId"].document;
        frm.designMode = "On";
        frm.onkeypress = function () {alert(window.event.keyCode);}
    } else {//Gecko
        var frm = gebi("iframeId").contentDocument;
        frm.addEventListener("keydown", function(event) {gebi("forShow").innerHTML = event.keyCode;}, false);
        frm.designMode = "on";
    }
}
</script>
</body>

Под Гекко всё работает замечательно и на выходе я получаю код нажатой клавиши. А в ИЕ никак не могу добится того же, такое ощущение, что у объекта event просто отсутствуют св-ва. Подскажите где я ошибся!?
 smile  


--------------------
PM MAIL ICQ   Вверх
S.A.P.
Дата 5.6.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Попробуй для IE сделать так: 
Код

document.getElementById("iframeId").contentWindow.document.attachEvent('onkeypress', function () {alert(window.event.keyCode);})

 
PM MAIL   Вверх
Burrr
Дата 5.6.2006, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



К сожалению не помогло smile 


--------------------
PM MAIL ICQ   Вверх
Burrr
Дата 6.6.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Неужели задача не имеет решения? 


--------------------
PM MAIL ICQ   Вверх
GoodBoy
Дата 6.6.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Burrr, лови ответ:

Код
<body onload=enableDisignMode()>
<iframe id=iframeId width=300 height=200></iframe>
<br>
<div style="font-size:11px;font-family:tahoma">Нажата клавиша: <b><span id=forShow></span><b></div>
<script>
d = document;
function gebi(id) {return d.getElementById(id)}
function enableDisignMode() {
    if (document.all) {//IE
        var frm = frames["iframeId"].document;
        frm.designMode="On";
        frm.onkeypress = function() {alert(iframeId.event.keyCode);}
    } else {//Gecko
        var frm = gebi("iframeId").contentDocument;
        frm.addEventListener("keydown", function(event) {gebi("forShow").innerHTML = event.keyCode;}, false);
        frm.designMode = "on";
    }
}
</script>
</body>
 

короче говоря, дело только в 1 слове. :-))
вместо window.event.keyCode надо - имя_ифрейма.event.keyCode 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Burrr
Дата 6.6.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



GoodBoy, спасисбо большое!
+1 


--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0979 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.