Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   drag & drop, mouseup (https://javascript.ru/forum/events/29438-drag-drop-mouseup.html)

cyber 01.07.2012 15:28

там все равно стили пройдется подключать, поэтому проще через class=)

cyber 01.07.2012 15:51

:help: сделал без иконки , перетаскивание самого элемента и все равно проблема с Timeout

Deff 01.07.2012 15:55

cyber,
:) А слабо упростить функции добавив к объекту
onmousedown="Yes(this)" onmousemove="Funk1(this)" onmouseout="Funk2(this)" data(начальная позиция)="X0,Y0"

cyber 01.07.2012 16:00

вместо
while(i--){
				 
				  n = elem_for_drag[i];
				    
					Event.addListener(n, "mousedown", drag.down_mouse, false);
					 
				      Event.addListener(n, "dragstart", drag.drag_s, false);
				   
				   }

сделать
while(i--){
				 
				  n = elem_for_drag[i];
				    
					 n.onmousedown = function (e){

                                          
                                        }
					 
				      n.onmousemove = function (e){

                                          
                                        }
				   
                                              n.onmouseup = function(e){

}
				   }

если ты об этом , то этот способ в 9 раз медленнее того что выше

cyber 01.07.2012 16:14

вот c Timeout
http://cyberua.16mb.com/drag&drop/

без Timeout
http://cyberua.16mb.com/notTimeout/

Deff 01.07.2012 16:19

cyber,
Пробуй в таймере определять отпущена ли нажатие мыши - тогда возвращайся в анализ позишен

cyber 01.07.2012 16:27

так?
move_wrap: function (e){
	
	
	  setTimeout(function(){
			 if(action.mouseup)return;	
				action.move(e);
				},20);
		 },

up : function(evt){
	
		 ...

		 action.mouseup = true;
    
                  ....
         }

cyber 01.07.2012 16:29

блин, дошло=)
после mouseup походу опять таймер еще раз срабатывал=)

cyber 01.07.2012 16:32

все теперь готово=)
теперь буду писать html 5 drag and drop=)
а потом сделаю проверку поддерживает браузер хтмл 5 drag and drop=)
и совмещу оба скрипта=)

vadim5june 01.07.2012 16:34

setTimeout(function(){
                  action.move(e);},20);

При тайм-ауте событие e не передается-теряется


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