Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 15.05.2009, 18:49
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

B~Vladi,
а почему оно не должно работать по вашему?
Ответить с цитированием
  #22 (permalink)  
Старый 15.05.2009, 22:01
Новичок на форуме
Отправить личное сообщение для mindguru Посмотреть профиль Найти все сообщения от mindguru
 
Регистрация: 15.05.2009
Сообщений: 8

Автономно - да, работает. Но я создаю всю эту хрень динамически, примерно вот так:
Код:
  dom5 = document.createElement('ul'); dom5.className = "s_ul";
  text = '<input type="text" onfocus="alert(0)">';
  dom5.innerHTML = text; dom4.appendChild(dom5); dom3.appendChild(dom4);
и НЕ РАБОТАЕТ! По-разному уже пробовал... Господа знатоки, просьба не ругать за лишние куски типа className и не придираться особо, дело-то не в этом. А насчёт закрытия тэга скажу так. Есть стандарт HTML. Есть стандарт JavaScript. И при том, что все программы-браузеры получили сертификат соответствия этому стандарту (иначе бы на рынок их никто не выпустил), всё это в куче (HTML+JavaScript) в каждом из браузеров работает ой как по-разному. Кстати, дискуссия о написании кода довольно интересна. Если позволите, я тут поприсутствую...
Ответить с цитированием
  #23 (permalink)  
Старый 15.05.2009, 22:11
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Попробуйте сначала добавлять элементы в document, и только потом прикреплять обработчики.
Ответить с цитированием
  #24 (permalink)  
Старый 16.05.2009, 03:01
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
все программы-браузеры получили сертификат соответствия этому стандарту (иначе бы на рынок их никто не выпустил),
откуда такая информация

в тэге ul могут быть только li - http://www.w3.org/TR/html401/struct/lists.html#edef-UL

несмотря на это у меня работает

Цитата:
и НЕ РАБОТАЕТ!
где?
Ответить с цитированием
  #25 (permalink)  
Старый 16.05.2009, 14:03
Новичок на форуме
Отправить личное сообщение для mindguru Посмотреть профиль Найти все сообщения от mindguru
 
Регистрация: 15.05.2009
Сообщений: 8

Да нигде не работает? Что вы прицепились к этому ul? Он здесь совершенно ни при чём. Говорю же, пробовал указывать onfocus явно или присваивать потом - один пень не работает!
Ответить с цитированием
  #26 (permalink)  
Старый 16.05.2009, 14:12
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

mindguru,
а полный код можно?
Ответить с цитированием
  #27 (permalink)  
Старый 18.05.2009, 10:10
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Gvozd Посмотреть сообщение
B~Vladi,
а почему оно не должно работать по вашему?

Сообщение от mindguru Посмотреть сообщение
Да в том-то и дело, что алерт НЕ СРАБАТЫВАЕТ!
(Про паровоз повторяю...)
Енто не по-моему...
Ответить с цитированием
  #28 (permalink)  
Старый 18.05.2009, 10:17
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от mindguru Посмотреть сообщение
Автономно - да, работает. Но я создаю всю эту хрень динамически, примерно вот так:
Код:
  dom5 = document.createElement('ul'); dom5.className = "s_ul";
  text = '<input type="text" onfocus="alert(0)">';
  dom5.innerHTML = text; dom4.appendChild(dom5); dom3.appendChild(dom4);
и НЕ РАБОТАЕТ!
Лучше писать что-то вроде того:

var dom5 = document.createElement('ul');
dom5.className = "s_ul";
var text = document.createElement('input');
text.type='text';
text.onfocus=function(){alert('РАБОТАЕТ')}

dom4.appendChild(dom5);
dom5.appendChild(text);

// Что - куда вставлять неважно... Если не так...
Ответить с цитированием
  #29 (permalink)  
Старый 18.05.2009, 13:03
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
var text = document.createElement('input');
text.type='text';
только при создании input'ов, отличных от text нужно помнить, что
Цитата:
You must perform a second step when you use createElement to create the input element. The createElement method generates an input text box, because that is the default input type property. To insert any other kind of input element, first invoke createElement for input, and then set the type property to the appropriate value in the next line of code.
p.s. innerHTML скорее всего будет в html 5
Ответить с цитированием
  #30 (permalink)  
Старый 18.05.2009, 14:07
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Ничё не понял...:wacko: Можно перевести?!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить, есть ли по указанным ссылкам файлы на локальном компьютере? Tend Общие вопросы Javascript 15 22.05.2009 22:55
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Проблема onmouseout если есть вложенные теги... AlexPa Общие вопросы Javascript 5 27.01.2009 19:59
Как убрать фокус с селекта в IE6? Shurik_ Общие вопросы Javascript 2 05.11.2008 17:14
Как передать фокус флешке на странице? dArky Общие вопросы Javascript 3 10.08.2008 01:03