Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Динамическое добавление onclick (https://javascript.ru/forum/misc/34228-dinamicheskoe-dobavlenie-onclick.html)

daima 25.12.2012 12:51

Динамическое добавление onclick
 
Страница загрузилась и я начинаю формировать онклики:
function add_popup(el_class){
var a=document.getElementsByTagName("a");
for(var i=0,ii=a.length;i<ii;i++){
	if(a[i].className==el_class) a[i].onclick=function(){show_popup();return false}
}

add_popup(gallery)

Допустим у меня добавились динамически новые блоки.

Как мне теперь и им присвоить онклики? Ведь если я снова запущу add_popup(gallery) у некоторых блоков при клике ф-я show_popup() будет запускаться несколько раз

godofjavascript 25.12.2012 12:52

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

godofjavascript 25.12.2012 12:54

daima,
в таких случайх не бойся придумывать места где сохранять данные, данные же магией не сохранятся, данные о том произошол show_popup на этом элементе уже или еще нет.. ))

просто придумай как хранить данные для каждого элемента об этом, и как ассоциировать их с этими элементами, и каждый раз проверяй функцией show_popup обработан ли уже этот элемент или нет)

Deff 25.12.2012 13:42

Цитата:

Сообщение от daima
Допустим у меня добавились динамически новые блоки.

Как мне теперь и им присвоить онклики?

При добавке онклик - добавлять и еще класс onclick_set,
При добавке онклик проверять и наличие класса "onclick_set"

lord2kim 25.12.2012 15:33

daima, в динамике добавления новых блоков и пропишите необходимый onClick

daima 25.12.2012 18:48

Цитата:

Сообщение от lord2kim (Сообщение 223419)
daima, в динамике добавления новых блоков и пропишите необходимый onClick

Так может я их через innerHTML добавлю. Так ведь быстрее и короче, чем создавате элемент, прописываьт его св-а, потом добавлять в тело страницы

Nya-Portal 26.12.2012 11:59

Совет автору, пиши на jquery и не будет проблем.


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