... oder versuche die Events move und up auf dem document Object zu setzen.
ich habe den mousemove auf document gelegt, den up habe ich auf dem Element gelassen. Siehe z.B. mein MausOMeter
Ich erlaube mir http://www.j-berkemeier.de/Drag_n_Drop.js zu studieren
document.onmousemove ist entschieden besser.
Ich musste auch noch paxeX zu clientX ändern, weil man sonst, falls man scrollt, das Objekt aus dem Screenbereich schubst.
Der Code sieht jetzt so aus.
//
gui.catl = document.getElementById('catlabel'); // Katalog Label
gui.catl.onmouseup = function(evt){
document.onmousemove = null;
}
gui.catl.onmousedown = function(evt){
var offx = evt.clientX - gui.cat.offsetLeft;
var offy = evt.clientY - gui.cat.offsetTop;
document.onmousemove = function foo (evt){
gui.cat.style.left = evt.clientX - offx + "px";
gui.cat.style.top = evt.clientY - offy + "px";
// über diesen Sinn muss ich noch studieren
// evt.cancelBubble = true;
// evt.returnValue = false;
}
};
//
Meine nächste Aufgabe wird dann sein, das etwas zu verallgemeinern.
mfg Beat