Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2013, 02:44
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Как определить положение объекта при drag and drop?
Делаю по аналогии
http://javascript.ru/ui/draganddrop#refaktoring
Скажем я зацепил объект A и перемещаю его
Объект A скажем размером 100x100 px и мне нужно его положить в объект B. Но как определить, что объект A находится над объектом B, если курсор мыши еще не находится над ним?

Также хотелось бы узнать что за события
onDrag
onDragEnter
onDragLeave
onDragOver
onDragStart
onDrop
и тд.
Вообще читая статью ожидал увидеть описание именно этих событий, а оказывается все строится только на событиях мыши.
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2013, 04:31
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

И подскажите, пожалуйста, как избавиться от ошибки

Uncaught TypeError: Cannot read property 'className' of null
document.onmousemove

Вызванной element.parentNode.className
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2013, 08:58
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

чтобы узнать находится объект над объектом, нужно знать координаты этих двух объектов, а также их высоту и длинну.. а там уже по условиям (if)...

что насчет element.parentNode.className.. попробуйте вывести в консоль cjnsole.log(element.parentNode) и посмотрите что там будет. возможно там лежит не то что вы хотите
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2013, 10:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А смысл определять положение блока? Тем более что не во всех браузерах будет отображаться призрак блока. Сработало событие ondragover - значит курсор над элементом-акцепотором. Что еще для счастья нужно?
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2013, 10:47
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

чел хочет, чтобы был объект над объектом, а не на мышь над объектом.. я сказал
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2013, 13:25
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Вообще да хотел, сделать если объект над объектом, но подумал и решил сделать по курсору мыши. По положению корректно определить очень сложно, нужно получается определить, если он скажем на двух объектах сразу, на каком именно объекте он БОЛЬШЕ в данный момент. Пришел к выводу что смысл, смысла нет, и особо это ничего не изменить. Получится почти тоже, что если курсор мыши над объектом

Насчет element.parentNode.className, я делаю проверку, при событии onmousemove, если

if(element.parentNode.className == "My_class") то вставляю объект.

класс есть не у всех элементов, поэтому очевидно вылезает ошибка. Работе она не мешает, но хотелось бы убрать element.parent.hasAttribute("My_class"), тоже дает ошибку
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2013, 13:27
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

По поводу событий ongrag.... и тд. я честно говоря не очень понял. Было бы интересно узнать как и где их можно использовать, для чего они предназначены. Коротких описаний этих событий много нашел, а вот нормальной статьи описывающих их работу нет. Может кто-подскажет, что нибудь по этому поводу.
Ответить с цитированием
  #8 (permalink)  
Старый 18.04.2013, 13:33
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Дело в том, этот стандарт аутсорсил инопланетянин, ни слухом ни духом не ведавший о человеческом вебе. Потому сейчас все продолжают использовать самописный drag на основе mousemove, а эту хрень применяют только в очень специфических случаях.)
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 18.04.2013, 13:40
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

я применял драп дроп. перетягивал файлы (картинки) с рабочего стола (папки) в браузер. конечно есть input file для этого. у меня работало и так и так (так сказать для удобства, точней для понтов)
Ответить с цитированием
  #10 (permalink)  
Старый 18.04.2013, 13:40
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

я применял драп дроп. перетягивал файлы (картинки) с рабочего стола (папки) в браузер. конечно есть input file для этого. у меня работало и так и так (так сказать для удобства, точней для понтов)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drag and drop CrossFire Элементы интерфейса 1 08.03.2013 10:11
drag & drop , html 5 cyber Events/DOM/Window 1 30.06.2012 15:16
drag и drop по HTML5 Иваннн Events/DOM/Window 3 16.09.2011 11:56
Drag & Drop с несколькими элементами Katz Общие вопросы Javascript 1 29.07.2011 13:01
Drag & Drop в полном объеме dizews Events/DOM/Window 3 26.07.2007 12:43