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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> onkeypress в asp.net и опера 
:(
    Опции темы
fullmoon
Дата 31.8.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как заставить работать onkeypress в динамически создаваемом текстовом поле.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
</head>
<script>
    function x(){
        alert("xxx");
    }
    function x2(){
        var el = document.createElement("input");
        el.type = "text";
        if (el.addEventListener) {alert("addEventListener");
            el.addEventListener("onkeypress", x, false);
         } else if(el.attachEvent) {alert("attachEvent");
            el.attachEvent("onkeypress", x);
        }
        var frm = document.getElementById("frm1");
        frm.appendChild(el);
        alert(frm.innerHTML);
    }
</script>
<body onload="x2()">
    <form id="frm1">
        <input type="text" onkeypress="x()" />
    </form>
</body>
</html>
PM MAIL   Вверх
Amphiluke
Дата 31.8.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Цитата

el.addEventListener("onkeypress", x, false);

Названия событий в стандарте DOM не включают приставку «on».

Исправьте

Код
if (el.addEventListener) {alert("addEventListener");
   el.addEventListener("keypress", x, false);
} else if (el.attachEvent) {alert("attachEvent");
   el.attachEvent("onkeypress", x);
}

и посмотрите, будет ли работать.
PM   Вверх
fullmoon
Дата 31.8.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо в Opera заработало.
А про .net это в другой форум?

Добавлено через 4 минуты и 48 секунд
Имеется в виду что если это файл с расширением aspx то обработчику onkeypress ни какого значения не присваивается хотя x2() отрабатывает без ошибок.

PM MAIL   Вверх
Amphiluke
Дата 31.8.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Цитата(fullmoon)
А про .net это в другой форум?

Наверное, ветка выше.
PM   Вверх
fullmoon
Дата 31.8.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



asp.net нипричем smile если после frm.appendChild(el); добавить frm.innerHTML += "&nbsp&nbsp&nbsp"; то обработчик перестает работать. Но как тогда добавить эти три пробела?
PM MAIL   Вверх
Amphiluke
Дата 31.8.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Хм. 
Сделайте так.
Код
function x(evnt){
   alert("xxx");
}
function x2(){
   var el = document.createElement("input");
   el.type = "text";
   if (el.addEventListener) {//alert("addEventListener");
      el.addEventListener("keypress", x, false);
   } else if (el.attachEvent) {//alert("attachEvent");
      el.attachEvent("onkeypress", x);
    }
    var frm = document.getElementById("frm1");
    frm.appendChild(el);
    frm.appendChild(document.createTextNode("\u00A0\u00A0\u00A0"));
}


Наверное, лучше не комбинировать стандартные методы добавления объектов в DOM (appendChild и др.) с редактированием свойства innerHTML.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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