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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Привязать onClick к картинкам, которые добавляются динамически 
:(
    Опции темы
Ripper
Дата 8.11.2011, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

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



У меня есть live метод, который обрабатывает onmouseover и onmouseout события. При наведении мышкой на объект, всплывает окошко. В это окошко я впихиваю данные, в т.ч. и панельку с картинками.

Делаю вот так:
Код

    $("#infoBox").append("<td class=\"showToolTip\" title=\"Удалить компанию\"><img src=\"/images/video.png\" onclick=\"removeCompany(" + ID + ");\"></td>");


На страницу подключается файл functions.js,  в котором есть метод removeCompany. Однако, когда кликаю по картинке, фаербаг пишет что метод removeCompany не определен. Не подскажите, почему он не видит этот метод? 
Само добавление картинки происходит  глубоко в подфункциях, т.е. в 
Код

    $(".infoBox").live('mouseover mouseout', function(e) { ....});



Я попробовал сделать иначе, и оно заработало, но тут уже не получается грамотно вставить картинку. Вот код:
Код

$("#infoBox").append("<td class=\"showToolTip\" title=\"Удалить\">");
                            
var d = $("img").addClass("showToolTip")
             .attr("title", "Удалить")
             .attr("src", "/images/decline.png")
            .click(function(){ ...
});
$("#infoBox").append(d);
$("#infoBox").append("</td>");


Либо вставляется строка что то вроде [object], либо вставляется не в <td>, либо еще что. Ну и + мне не нравится такой метод, т.к. кода получается больше чем если просто написать onclick. Но тут хотя бы сам клик обрабатывается.
:(
 Благодарю за помощь.



--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
нуп
Дата 8.11.2011, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


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

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



Код

$("#infoBox").append("<td class=\"showToolTip\" title=\"Удалить\"></td>");
                            
var d = $("img").addClass("showToolTip")
             .attr("title", "Удалить")
             .attr("src", "/images/decline.png")
            .click(function(){ ...
});
$("#infoBox").find('td:last')append(d);


Должно прокатить
PM MAIL   Вверх
Ripper
Дата 9.11.2011, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

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



Хм, у меня что-то странное творится. Вероятно из-за того что все перемешал в коде. У меня при наведении на надпись создается окошко, где я вывожу все эти рисунки. Первый раз добавляются 2 картинки, второй раз ни одной smile

А почему вариант с Onclick не хочет работать? Просто это гораздо удобнее чем создавать куча объектов с атрибутами...


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
нуп
Дата 9.11.2011, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


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

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



Покажите пример нерабочего кода. 
PM MAIL   Вверх
-=Ustas=-
Дата 9.11.2011, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Цитата(Ripper @  8.11.2011,  22:54 Найти цитируемый пост)
Однако, когда кликаю по картинке, фаербаг пишет что метод removeCompany не определен.

Тут после загрузки в DOM новых элементом, в Вашем контексте необходимо добавить window.removeCompany(...),  либо после добавления прогонять вновь созданные объекты и развешивать им события.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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