Страница 1 из 1

droppable и объект-приемник

СообщениеДобавлено: 06 апр 2012, 10:26
GodNob
Привет!
такая ситуация: имеется элемент div#move. Мне его надо перетащить в див (div#dst), который по размерам почти на весь экран и содержит много других элементов.
Хочу сделать $("#dst").droppable() на родительский элемент, но мне надо узнать на каком элементе внутри этого #dst закончилось перемещение.

Это как при клике на родительский элемент, в свойстве event.target лежит тот элемент, на котором действительно был клик. Мне надо примерно такое же поведение в данном случае.

Посмотрел все свойства плагина - вроде ничего не подходит ((
Подскажите как сделать.

Re: droppable и объект-приемник

СообщениеДобавлено: 06 апр 2012, 22:07
Gennady
На родительский хорошо бы, но вероятно придется привязывать именно к элементам, которые внутри.
Взгляните... http://jsfiddle.net/Gennady/jmcUX/

Re: droppable и объект-приемник

СообщениеДобавлено: 07 апр 2012, 00:04
zandroid
Зная координаты, где "бросили" элемент, можно попробовать просто высчитать дочерний, над которым его бросили, через outerWidth/Height и offset().

Re: droppable и объект-приемник

СообщениеДобавлено: 07 апр 2012, 02:55
tuareg
Вот почитайте, может что толковое на ум придет http://learn.javascript.ru/drag-and-drop-objects

Re: droppable и объект-приемник

СообщениеДобавлено: 07 апр 2012, 12:04
GodNob
Gennady писал(а):На родительский хорошо бы, но вероятно придется привязывать именно к элементам, которые внутри.
Взгляните... http://jsfiddle.net/Gennady/jmcUX/

Видимо, так и сделаю

zandroid писал(а):Зная координаты, где "бросили" элемент, можно попробовать просто высчитать дочерний, над которым его бросили, через outerWidth/Height и offset().
Была такая идея - обходить дочерние, но прочитав
tuareg писал(а):Вот почитайте, может что толковое на ум придет http://learn.javascript.ru/drag-and-drop-objects
тут, нашел метод
Код: выделить все
document.elementFromPoint(event.clientX, event.clientY)
, который будет лучше делать что, что задумано.

Получается, что метод .droppable() не делает особой магии, а проверяет, находится ли курсор над ним (ну и конечно есть проверки разные)? или тут нечто другое?

Re: droppable и объект-приемник

СообщениеДобавлено: 07 апр 2012, 14:18
tuareg
Если Вы внимательно читали ссылку, там описывается аналогичный drag-drop. Конечно же ничего другого никто не придумает. Единственно, что в ui возможно есть какие-то оптимизации(кэширование и т.д). А так все точно так же.

Re: droppable и объект-приемник

СообщениеДобавлено: 07 апр 2012, 18:57
GodNob
tuareg писал(а):Если Вы внимательно читали ссылку, там описывается аналогичный drag-drop. Конечно же ничего другого никто не придумает. Единственно, что в ui возможно есть какие-то оптимизации(кэширование и т.д). А так все точно так же.
Оттуда я и узнал про эту функцию
Код: выделить все
document.elementFromPoint(event.clientX, event.clientY)
(т.е. я ее прочитал :) ) Думал может тут реализовали как-то по-другому.

(Раньше я не знал как работает .live() . посмотрел - это делегирование события, о чем и подозревал, не не был уверен, вот и подумал...)

Всем спасибо за помощь. наставили на правильный путь :)