chris: onMouseOver-Event bei drag und drop

hi,

wenn ich drag und drop implementiere, dann scheint es so, als ob mir drag u. drop das onMouseOver-event ueberschreibt.

weiss jemand eine loesung, wie ich waehrend des drag-vorgangs trotzdem die onMouseOver-Events fuer die vorhandenen objekte (z.B. graphiken hilite, ...) wieder aktiviere, oder dass mir das drag u drop das event nicht ueberschreibt.

beispiel: ich ziehe ein objekt auf ein anderes - und wenn ich auf dem anderen objekt bin, soll es z.b. in einer anderen farbe dargestellt werden oder der cursor soll sich verändern. funktioniert ohne drag u drop super (wenn ich nur mit der maus ueber das objekt fahre). aber sobald ich die linke maustaste gedrueckt halte klappt nichts mehr.

hat wer eine loesung??

DANKE
mfg, chris

  1. es ist das folgende problem: die maus ist über dem bild, somit ist das OnMouseover-event auch beim bild zu suchen. am besten wäre, wenn du das Element dropst, daß das element zurück an die ale position zurückgeschickt wird, somit hast du das onmouseover auf der drop-position, oder du machst es so, daß emelemnt.top = event.y+5;element.left = event.x + 5;
    so ist die mouse "frei" und es können auch andere elemente ein OnMouseover bekommen.
    ------------------------------------
    http://www.script-fabrik.de

    1. danke fuer den tipp!

      dein 2ter vorschlag ware genau die loesung fuer mich.
      ich bin leider noch etwas neu in JavaScript - wo schreibe ich den von dir angefuehrten code hin??

      element.top = event.y+5;
      element.left = event.x + 5;

      danke
      mfg, chris

      1. dieser code kommt genau dann, wenn du dragst
        like
        function drag()
        {
        ...
        element.top = event.y+5;
        element.left = event.x + 5;
        }
        --------------------------------------
        http://www.script-fabrik.de

        1. hi - vorerst danke fuer die raschen vorschlaege,

          ich habe folgenden code, wo das leider nicht funktioniert - hab ich von irgendeiner homepage. das ganze habe ich in eine .js-datei geschrieben und dann in der html-seite includiert (<script src="js/drag.js"></script>)

          irgendwo in der html-seite steht das objekt, wo ich das onMouseOver-Event habe. Leider passiert dieses Event nicht, wenn wenn ich mit gedrückter maustaste darueberfahre.

          .
          .
          .
          <td style="font-size:18pt" onmouseover="this.style.backgroundColor='Yellow'">Selected Item</td>
          .
          .
          .

          --> da habe ich deinen Vorschlag eingebaut.

          var dragapproved=false;
          var z,x,y;

          document.onmousedown=drags;
          document.onmouseup=drop;

          function drags()
          {
            if (!document.all)
              return
            if (event.srcElement.className=="drag")
            {
              dragapproved=true
              z=event.srcElement
              z.top = event.y+20;     // dein vorschlag
              z.left = event.x + 20;  // dein vorschlag
              temp1=z.style.pixelLeft
              temp2=z.style.pixelTop
              x=event.clientX
              y=event.clientY
              document.onmousemove=move
            }
          }

          function move()
          {
            if (event.button==1&&dragapproved)
            {
              z.style.pixelLeft=temp1+event.clientX-x
              z.style.pixelTop=temp2+event.clientY-y
              return false
            }
          }

          function drop()
          {
            dragapproved=false;

          if(z!=null)
            {
              z.style.pixelLeft=temp1;
              z.style.pixelTop=temp2;
            }
          }

          in meiner HTML-Seite includiere ich diese .js-datei.
          die onMouseOver-Events funktionieren leider bei drag u drop
          dann immer noch nicht.
          was mache ich hier falsch????

          nochmals danke
          mfg, chris

          function drag()
          {
          ...
          element.top = event.y+5;
          element.left = event.x + 5;
          }