Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Есть ли фокус? (https://javascript.ru/forum/events/3698-est-li-fokus.html)

Gvozd 15.05.2009 18:49

B~Vladi,
а почему оно не должно работать по вашему?

mindguru 15.05.2009 22:01

Автономно - да, работает. Но я создаю всю эту хрень динамически, примерно вот так:
Код:

  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) в каждом из браузеров работает ой как по-разному. Кстати, дискуссия о написании кода довольно интересна. Если позволите, я тут поприсутствую...

Riim 15.05.2009 22:11

Попробуйте сначала добавлять элементы в document, и только потом прикреплять обработчики.

x-yuri 16.05.2009 03:01

Цитата:

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

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

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

Цитата:

и НЕ РАБОТАЕТ!
где?

mindguru 16.05.2009 14:03

Да нигде не работает? Что вы прицепились к этому ul? Он здесь совершенно ни при чём. Говорю же, пробовал указывать onfocus явно или присваивать потом - один пень не работает!

Gvozd 16.05.2009 14:12

mindguru,
а полный код можно?

B~Vladi 18.05.2009 10:10

Цитата:

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


Цитата:

Сообщение от mindguru (Сообщение 19067)
Да в том-то и дело, что алерт НЕ СРАБАТЫВАЕТ!
(Про паровоз повторяю...)

Енто не по-моему...

B~Vladi 18.05.2009 10:17

Цитата:

Сообщение от mindguru (Сообщение 19122)
Автономно - да, работает. Но я создаю всю эту хрень динамически, примерно вот так:
Код:

  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);

// Что - куда вставлять неважно... Если не так...

x-yuri 18.05.2009 13:03

Цитата:

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

B~Vladi 18.05.2009 14:07

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


Часовой пояс GMT +3, время: 17:00.