reiner_hohn: pruefen ob moustaste gedrueckt wurde

hallo forum,

ich habe ein kleines oder grosses  problem, das wird sich noch rausstellen ;) und zwar habe ich eine tabelle und bei allen feldern (<td>) gibt es ein onmouseover-event.

so nun will ich aber das eine funktion ausgefuehrt wird, wenn das mouseover-event aufgerufen wird UND die maustaste gedrueckt ist. das onmousedown-event geht aber nicht.

wenn ich will sozusagen mit der maus auf das erste tabellenfeld geht, die mausdrueck und gedrueckt halten und dann ueber alle anderen felder bewegen und fuer alle felder wo man mit gedrueckter aus drueber ist, soll die funktion ausgefuert werden.

onmousedown funktioniert nicht, weil das ja nur beim ersten tabellenfeld ausgeführt wird und nicht wenn man schon mit gedruckter taste auf andere felder geht.

ich brauch als was,was prueft ob aktuell die maustaste gedrueckt ist oder nicht.

mfg

  1. ich brauch als was,was prueft ob aktuell die maustaste gedrueckt ist oder nicht.

    schonmal dran gedacht bei selfhtml zu schauen?

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. ich brauch als was,was prueft ob aktuell die maustaste gedrueckt ist oder nicht.

      schonmal dran gedacht bei selfhtml zu schauen?

      Struppi.

      ja sicher, ich werd da aber leider auch nicht schlau drauf wie ich sozusamen pruefen kann ob bei einem mouseoverevent auch die maustaste gedrueckt ist oder nicht.

      mfg

      1. ja sicher, ich werd da aber leider auch nicht schlau drauf wie ich sozusamen pruefen kann ob bei einem mouseoverevent auch die maustaste gedrueckt ist oder nicht.

        Muss man schlau sein um Eigenschaft button zu prüfen?

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. ja sicher, ich werd da aber leider auch nicht schlau drauf wie ich sozusamen pruefen kann ob bei einem mouseoverevent auch die maustaste gedrueckt ist oder nicht.

          Muss man schlau sein um Eigenschaft button zu prüfen?

          Struppi.

          bin ich mir nicht sicher, um vernueftige antworten zu geben aber schon.

          1. bin ich mir nicht sicher, um vernueftige antworten zu geben aber schon.

            Stimmt wie du gerade sehr darlegst.

            Ansonsten hättest du auch erläutern können wo die Schwierigkeiten liegen, denn offensichtlich läßt sich .button aber auch .which im FF nicht sinnvoll abfragen. zumindest in der 2.0 Version, was weder in selfhtml steht noch ich gewußt habe, da  du das getestet hast, wäre eine vernüftige Antwort hilfreicher gewesen, an Stelle von "da werd ich nicht schlau draus"

            Struppi.

            --
            Javascript ist toll (Perl auch!)
  2. Hi

    ich brauch als was,was prueft ob aktuell die maustaste gedrueckt ist oder nicht.

    Dann musst Du halt einen flag setzen. Teste:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
    <html>
    <head>
    <script type="text/javascript">

    var txt     = "";
        var flag    =  false;// merkt sich ob gedrückt oder nicht
        function doit () {
            var tds =  document.getElementsByTagName("td");
            for (var i = 0; i < tds.length; i++) {
                tds[i].onmouseover =  function () {
                    if (!flag) return;
                    txt += (txt? ", " : "") + this.firstChild.data;
                }
            }

    document.onmousedown =  function () {
                flag =  true;
            }

    document.onmouseup =  function () {
                flag =  false;
                if (!txt) return;
                alert ("Diese Zellen wurden überfahren: " + txt);
                txt =  "";
            }
        }
    </script>
    </head>
    <body onload="doit()">

    <table cellspacing="1" cellpadding="10" border="1">
        <tr>
            <td>zelle 1</td>
            <td>zelle 2</td>
        </tr>
        <tr>
            <td>zelle 3</td>
            <td>zelle 4</td>
        </tr>
        <tr>
            <td>zelle 5</td>
            <td>zelle 6</td>
        </tr>
        </table>
    </body>
    </html>

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi

      ich brauch als was,was prueft ob aktuell die maustaste gedrueckt ist oder nicht.
      Dann musst Du halt einen flag setzen. Teste:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
              "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
      <html>
      <head>
      <script type="text/javascript">

      var txt     = "";
          var flag    =  false;// merkt sich ob gedrückt oder nicht
          function doit () {
              var tds =  document.getElementsByTagName("td");
              for (var i = 0; i < tds.length; i++) {
                  tds[i].onmouseover =  function () {
                      if (!flag) return;
                      txt += (txt? ", " : "") + this.firstChild.data;
                  }
              }

      document.onmousedown =  function () {
                  flag =  true;
              }

      document.onmouseup =  function () {
                  flag =  false;
                  if (!txt) return;
                  alert ("Diese Zellen wurden überfahren: " + txt);
                  txt =  "";
              }
          }
      </script>
      </head>
      <body onload="doit()">

      <table cellspacing="1" cellpadding="10" border="1">
          <tr>
              <td>zelle 1</td>
              <td>zelle 2</td>
          </tr>
          <tr>
              <td>zelle 3</td>
              <td>zelle 4</td>
          </tr>
          <tr>
              <td>zelle 5</td>
              <td>zelle 6</td>
          </tr>
          </table>
      </body>
      </html>

      Gruesse, Joachim

      danke, das hat mir geholfen ;)