Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Подключить события к элементам диалогового окна (https://javascript.ru/forum/jquery/52230-podklyuchit-sobytiya-k-ehlementam-dialogovogo-okna.html)

myshara 09.12.2014 15:02

Подключить события к элементам диалогового окна
 
Доброго времени суток Всем!

Есть задача, следуещего плана:

Диалоговое окно разделено на 2 части.
Левая часть (id="left-dlg")- ссылки (на папки).
Правая часть(id="right-dlg") - картинки.

Картинки в правой части подгружаются через ajax при клике на ссылку
и имеют класс: img-exemple.

Для класса img-exemple подключаю событие dblclick.

Вот пример кода:
var img_dir=....(название папки на сервере)
$.ajax({
  type: "POST",
  url: "img_content.php",
  data: {dir_img:img_dir},
  cache: false,  
  success: function(html){  
        $("#right-dlg").html(html);
    }
}).done($(". img-exemple").on('dblclick', alert(this)))


Картинки отображаются в диалоговом окне. А вот событие не подключается. Не знаю что и делать.

рони 09.12.2014 15:10

Цитата:

Сообщение от myshara
Для класса img-exemple подключаю событие dblclick.

где???

myshara 09.12.2014 15:12

здесь:

}).done($(". img-exemple").on('dblclick', alert(this)))

рони 09.12.2014 15:16

myshara,
всё одно не вижу :cray:

рони 09.12.2014 15:21

myshara,
вы класс видите а я нет ))) что-то в супе лишнее

myshara 09.12.2014 15:28

Что Вы понимаете под выражением не вижу класс?

Если наличие пробела между точкой и именем класса, то это просто опечатка.

Т.е. код такой:
}).done($(".img-exemple").on('dblclick', alert(this)))


Что не так?

myshara 09.12.2014 15:33

Читаем здесь...

Делаем по примеру:
// Установим обработчик нажатия кнопкой мыши, элементу с идентификатором foo
$('#foo').on('click', function(){
  alert('Вы нажали на элемент "foo"');
});
 
// Теперь, при нажатии на элемент foo, будет выведено сообщение


Что не так????

рони 09.12.2014 15:34

myshara,
ок класс появился, попробуйте эту строку поставить в конец 8 строки и без done

myshara 09.12.2014 15:41

Т.е. вот так:
var img_dir=....(название папки на сервере)
$.ajax({
  type: "POST",
  url: "img_content.php",
  data: {dir_img:img_dir},
  cache: false, 
  success: function(html){ 
        $("#right-dlg").html(html);
    }
});
$(".img-exemple").on('dblclick', alert(this));


При клике на ссылку в левой части получаем alert([object Window]
А при клике на картинку ничего...

myshara 09.12.2014 15:56

Не знаю почему.
Но решилось так:
setTimeout(function(){$(".img-exemple").on("dblclick",function(){alert(this)})},200);


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