Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2013, 01:44
Аватар для Dozentos
Аспирант
Отправить личное сообщение для Dozentos Посмотреть профиль Найти все сообщения от Dozentos
 
Регистрация: 08.10.2013
Сообщений: 47

Повесить обработчик из фрейма
Во фрейме размещена форма для загрузки файла (картинки). После загрузки картинка добавляется на родительскую страницу фрейма. Но к ней неудаётся подключить обработчик события.
Добавляется так:
$(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(){...});

Не работает
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2013, 06:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Dozentos,
Думаю просто ошибки, нужно смотреть тест страницу

Повесьте onclick="frameName.Fun(this)" прям на картинку
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2013, 17:57
Аватар для Dozentos
Аспирант
Отправить личное сообщение для Dozentos Посмотреть профиль Найти все сообщения от Dozentos
 
Регистрация: 08.10.2013
Сообщений: 47

Хм... вариант...
Сделал, работает... только почему-то вновь добавленные изо реагируют на щелчок только со второго раза... Это почему???
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2013, 18:48
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Dozentos,
У меня супперколлайдер не работает -почему?
Экстрасенсы редкость...
Возможно какое событие еще на картинке
Ответить с цитированием
  #5 (permalink)  
Старый 24.11.2013, 04:23
Аватар для Dozentos
Аспирант
Отправить личное сообщение для Dozentos Посмотреть профиль Найти все сообщения от Dozentos
 
Регистрация: 08.10.2013
Сообщений: 47

Да нет там никаких больше событий. Просто во фрейме тупо повесил через
$(top.document).find('#picts').append('<span class='nomer_img' onclick='delete_image()'><img src='../".$dir.$fname."' height='60' width='60' /></span>');

Событие всегда срабатывает со второго раза...
На родительской странице есть изо изначально сгенерированные php скриптом для неё. На них срабатывает с первого. А на добавленных из фрейма со второго...
Ответить с цитированием
  #6 (permalink)  
Старый 24.11.2013, 05:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

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)

Последний раз редактировалось Deff, 24.11.2013 в 06:11.
Ответить с цитированием
  #7 (permalink)  
Старый 24.11.2013, 16:23
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от Dozentos
$(top.document).find('#picts').append('<span class='nomer_img' onclick='delete_image()'><img src='../".$dir.$fname."' height='60' width='60' /></span>');
У Вас тут синтактическая ошибка, смотрите какие кавычки ставите.

parent.$('#picts').append('<span class=\'nomer_img\' onclick=\'delete_image()\'><img src=\'../".$dir.$fname."\' height=\'60\' width=\'60\' /></span>');
Ответить с цитированием
  #8 (permalink)  
Старый 25.11.2013, 06:40
Аватар для Dozentos
Аспирант
Отправить личное сообщение для Dozentos Посмотреть профиль Найти все сообщения от Dozentos
 
Регистрация: 08.10.2013
Сообщений: 47

Здесь да, неправильно... виной тому то, что я исходную строку здесь редактировал (у меня этот скрипт добавляется тоже через php, я тут упрощал), в противном случае вообще бы не работало. А оно работает, но для вновь добавленных изо только со второго раза...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как повесить обработчик mousedown на datepicker input-а? gait Events/DOM/Window 3 10.05.2013 14:09
как повесить обработчик daima Общие вопросы Javascript 3 08.11.2012 13:39
повесить обработчик на событие Ia_alex Events/DOM/Window 2 17.09.2012 14:23
Как повесить обработчик на событие "вызов функции"? stopkran Общие вопросы Javascript 30 01.01.2011 09:11
обработчик собития onMouseOver для фрейма Rian Events/DOM/Window 7 06.06.2008 19:48