Показать сообщение отдельно
  #3 (permalink)  
Старый 16.06.2010, 17:27
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

Нашёл в инете
//// отключаем обработку событий по умолчанию, связанных с перемещением блока (это убирает глюки с выделением текста в других HTML-блоках, когда мы перемещаем объект)
if( e.preventDefault ) e.preventDefault(); 
    else e.returnValue = false;

исправленный вариант:
var changePosition=null,offX=null,offY=null;
function elemPhysics()
{
    this.move=function a(id,e)
    {
	e = e || window.event;
	if( e.preventDefault ) e.preventDefault(); 
    else e.returnValue = false;
        if(changePosition)
        {
            changePosition=document.getElementById(id);
            var x=e.clientX-offX;
            var y=e.clientY-offY;
            changePosition.style.left=x+"px";
            changePosition.style.top=y+"px";
        }
    }
    this.release=function b()
    {
        changePosition=null;
    }
    this.capture=function c(e)
    {
	e = e || window.event;
	if( e.preventDefault ) e.preventDefault(); 
    else e.returnValue = false;
        offX=e.offsetX || e.layerX;
        offY=e.offsetY || e.layerY;
        if(!changePosition)
        {
            changePosition=document.getElementById("el");
             
        }
    }
}
var element=new elemPhysics();
Ответить с цитированием