Hallo,
ich habe versucht selbst ein Drag und Drop skript zu schreiben, was auch geklappt hat.
Nach einer ganzen weile rumprobieren habe ich obj.id durch obj.parentNode.id ersetzt.
Komischerweise wurden dann meine Events erkannt. Ich kann mir aber nicht erklären warum es
bei obj.id nicht klappt. Zumal ich ja auf den Container klicke und spätestens durch event-bubbling
sollte es dann funktionieren. Also ich hatte anstatt
if((obj.parentNode.id != null) && (obj.parentNode.id.indexOf("pic") != (-1))) {
das hier stehen:
if((obj.id != null) && (obj.id.indexOf("pic") != (-1))) {
ich habe versucht selbst ein Drag und Drop skript zu schreiben, was auch geklappt hat.
Nach einer ganzen weile rumprobieren habe ich obj.id durch obj.parentNode.id ersetzt.
Komischerweise wurden dann meine Events erkannt. Ich kann mir aber nicht erklären warum es
bei obj.id nicht klappt. Zumal ich ja auf den Container klicke und spätestens durch event-bubbling
sollte es dann funktionieren. Also ich hatte anstatt
if((obj.parentNode.id != null) && (obj.parentNode.id.indexOf("pic") != (-1))) {
das hier stehen:
if((obj.id != null) && (obj.id.indexOf("pic") != (-1))) {
HTML:
function dragging(evt) {
var obj;
var curX;
var curY;
if(isIE) {
obj = window.event.srcElement;
curX = parseInt(window.event.clientX);
curY = parseInt(window.event.clientY);
}
else {
obj = evt.target;
curX = parseInt(evt.clientX);
curY = parseInt(evt.clientY);
}
if((obj.parentNode.id != null) && (obj.parentNode.id.indexOf("pic") != (-1))) {
var dx = curX - posX;
var dy = curY - posY;
theStyle.left = (parseInt(theStyle.left) + dx) + 'px';
theStyle.top = (parseInt(theStyle.top) + dy) + 'px';
posX = curX;
posY = curY;
}
return false;
}
</script>
</head>
<body onload="init()">
<p id="test"></p>
<div id="pic">
<img alt="Das Bild eines Geschenkes" src="geschenk.jpg" />
</div>