Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

one event handled two div

Обсуждение темы one event handled two div в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Здравствуйте! Задача простая: мышью перетянуть содержимое одного div'а в другой, т.е.: 1. при onMouseDown над source div создаем новый див с содержимым исходного. ...


Закрытая тема
 
Опции темы
Старый 01.08.2011, 22:40   #1
Здравствуйте!
Задача простая: мышью перетянуть содержимое одного div'а в другой, т.е.:
1. при onMouseDown над source div создаем новый див с содержимым исходного.
2. исходному div'у удаляем содержимое.
3. новому div'у привязываем onMouseMove и тащим его к приемнику.
4. новому div'у привязываем onMouseUp и удаляем его.
5. приемнику нужно знать, что новый div был над ним, когда у него отработалось событие onMouseUp, иначе содержимое возвращается источнику.

Из приведенной выше схемы видно, что 4 и 5 событие - по сути одно, но обработчик div'а-приемника onMouseOver не сработает, пока работает onMouseMove нового div'а.

Таким образом, вся схема является неправильной.
Посоветуйте схему и приемы решения данной задачи.
Заранее благодарен.
Алексей
PS Почините utf-8

Последний раз редактировалось handler; 01.08.2011 в 22:44.. Причина: utf-8
 
Старый 01.08.2011, 22:40
Ссылки
Старый 01.08.2011, 22:50   #2
http://jqueryui.com/demos/droppable/
 
Старый 01.08.2011, 22:56   #3
не так надо делать.
1. делаем копию исходного дива и тащим копию за мышкой (лучше наверно в полупрозрачном виде). при этом в некую глобальную переменную пишем айдишник исходного дива.
2. на возможных целях стоит onmouseup, который в случае наличия какого-то айдишника в той глобальной переменной, делает что нужно (копирует содержимое, потом удаляет исходный див).
3. на копии исходного дива по mouseup стоит просто уничтожение этого дива.
вуаля!
 
Старый 04.08.2011, 12:13   #4
Вся проблема в том, что мы не можем обрабатывать события цели до тех пор, пока мы тащим див и не отпустили его.
А в остальном предложенная Вами схема - точная копия моей

Последний раз редактировалось handler; 04.08.2011 в 12:13.. Причина: Добавлено сообщение
 
Старый 04.08.2011, 12:14   #5
левый комент
модер удали плз
 
Старый 06.08.2011, 10:38   #6
да это гон. вы буквы в слова, а слова в логические фразы со смыслом умеете оборачивать? моя схема будет работать, ваша - нет. если вы этого не понимаете, не трогайте js вобще.
 
Старый 15.08.2011, 18:39   #7
Хорошо!
Скажите, пожалуйста, будет ли срабатывать обработчик onmouseover destination-элемента в момент, когда мы тащим над ним копию дива?
 
Старый 15.08.2011, 18:44   #8
а зачем нам этот обработчик? нам нуже onmouseup на destination-элементе.
 
Старый 18.08.2011, 14:34   #9
Хорошо.
Мы тащим див к приемнику - таким образом в настоящий момент работает onmousemove дива, который мы тащим.
Наступило событие,когда мы тащим наш див над приемником.
Как приемник узнает, что событие наступило?
Насколько я понимаю, javascript не может передавать события одновременно нескольким объектам. Или я ошибаюсь? В таком случае это уже многопоточность получается
 
Старый 18.08.2011, 15:55   #10
зачем приемнику знать о том, что над ним что-то тащат, пока то что тащат не отпустили? а вот в момент отпускания он и узнает что ему что-то притащили.
 
Старый 18.08.2011, 15:55
Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Тарифный план «Lite»
Место: 1000 Мб
Трафик: неограниченный
Панель управления
Заказать ТП «Lite»
Тарифный план «Normal»
Место: 2000 Мб
Трафик: неограниченный
Поддержка скриптов
Заказать ТП «Normal»
Тарифный план «Profy»
Место: 7000 Мб
Трафик: неограниченный
Поддержка скриптов
Заказать ТП «Profy»
Тарифный план «Места хватит!»
Место: 25 ГБ
Трафик: неограниченный
Поддержка SSI, ssh
Заказать ТП «Места хватит!»
Дизайнерский форум