Повесить обработчик из фрейма
Во фрейме размещена форма для загрузки файла (картинки). После загрузки картинка добавляется на родительскую страницу фрейма. Но к ней неудаётся подключить обработчик события.
Добавляется так: $(top.document).find('#pict').append('<span class='nomer_img'><img src='../".$dir.$fname."' height='60' width='60' /></span>'); Пытаюсь повесить обработчик так: $(top.document).find('#pict > .nomer_img:last').on('click', function(){...}); Не работает :help: |
Dozentos,
Думаю просто ошибки, нужно смотреть тест страницу Повесьте onclick="frameName.Fun(this)" прям на картинку |
Хм... вариант...
Сделал, работает... только почему-то вновь добавленные изо реагируют на щелчок только со второго раза... Это почему??? |
Dozentos,
У меня супперколлайдер не работает -почему? Экстрасенсы редкость... Возможно какое событие еще на картинке |
Да нет там никаких больше событий. Просто во фрейме тупо повесил через
$(top.document).find('#picts').append('<span class='nomer_img' onclick='delete_image()'><img src='../".$dir.$fname."' height='60' width='60' /></span>'); Событие всегда срабатывает со второго раза... На родительской странице есть изо изначально сгенерированные php скриптом для неё. На них срабатывает с первого. А на добавленных из фрейма со второго... |
Dozentos,
1. А как добавляете ? Ибо событие на теге, добавляемое через вставку в html() ? В большинстве браузеров атрибуты событий на тегах вставленные через innerHTML вообще не работают Нун добавлять так: window.top.jQuery ("<span class='nomer_img' onclick='delete_image()'><img src='../".$dir.$fname."' height='60' width='60' /></span>").аppendTo(селектор(куда),top.document.body) Правильнее запускать функцию на top.document, передавая ей ток ссылку - а она уже сама создаёт тег и .аppendTo(селектор) в текущем окне. (Хотя этой функции ничего не стоит и повесить событие, а не атрибут onclick в теге, и тогда и ставить можно через innerHTML) |
Цитата:
parent.$('#picts').append('<span class=\'nomer_img\' onclick=\'delete_image()\'><img src=\'../".$dir.$fname."\' height=\'60\' width=\'60\' /></span>'); |
Здесь да, неправильно... виной тому то, что я исходную строку здесь редактировал (у меня этот скрипт добавляется тоже через php, я тут упрощал), в противном случае вообще бы не работало. А оно работает, но для вновь добавленных изо только со второго раза...
|
Часовой пояс GMT +3, время: 05:30. |