Hallo,
ich arbeite gerade an einer drag&drop Lösung in JavaScript und habe bisher folgendes:
Code:
function OnMouseDown(e)
{
_debug = $('debug');
// IE is retarded and doesn't pass the event object
if (e == null)
e = window.event;
// IE uses srcElement, others use target
var target = e.target != null ? e.target : e.srcElement;
_debug.innerHTML = target.className == 'drag'
? 'draggable element clicked'
: 'NON-draggable element clicked';
// for IE, left click == 1
// for Firefox, left click == 0
if ((e.button == 1 && window.event != null ||
e.button == 0) &&
target.className == 'drag')
{
...
Das geht solange gut, wie das Element mit der Klasse 'drag' zB ein Bild ist, das verschoben wird. Nun möchte ich aber aus dem Bild ein Div mit Inhalt machen. Wenn man irgendwo ins Div oder auf den Inhalt des DIVs klickt soll man das verschieben können.
Ich denke, dafür muss ich dem Inhalt eine art unterklasse geben und im onmousedown eine abfrage integrieren a la
Code:
if(target.className=='unterklasse')target=target.owner;
um an das DIV zu kommen das letztlich verschoben werden soll.
Aber irgendwie funktioniert das mit owner nicht, was gibts da noch? Kann leider keine
API oder sowas finden wo man das nachschlagen kann
edit:
Ich merk grad, nach nem KLick auf das img ist target nach der Zeile null:
Code:
var target = e.target != null ? e.target : e.srcElement;