Seite 1 von 1
OnClick Event aufheben bei OnMouseMove
Verfasst: 21.06.2009, 11:49
von silent321
Hallo,
ich habe ein Drag´n Drop Bild welches bei Onclick eine neue seite öffnet. Nun möchte ich aber dass das Onclick event nicht ausgeführt wird sobald das Event onMouseMove eintritt.
Ich möchte also Onclick NUR ausführen wenn tatsächlich ein einfacher klick getätigt wurde und nicht das bild verschoben wurde.
Also: bei onMouseMove onclick aufheben, obwohl der klick ja schon mit onMouseMove getätigt wurde, das javascript im onclick aber nicht ausgeführt.
Viele Dank für eure Hilfe!
Verfasst: 21.06.2009, 13:32
von mgutt
Du musst bei onmousemove eine Funktion definieren, in der Du eine globale Variable auf true setzt.
onclick greift entweder auf die gleiche bzw. auf einer andere Funktion zu (je nachdem was Du willst) in der erst geprüft wird, ob die Variable noch false ist.
Also so ca.:
Code: Alles auswählen
var done = false;
function ocfunc() {
if (!done) {
// tu was
}
}
function ommfunc() {
done = true;
// tu was anderes
}
Verfasst: 21.06.2009, 13:33
von net(t)worker
mir würde da nur nen zusatzbutton zum umschalten der Aktion und damit auch eines anderen mauscoursor, so das beim normalen mauspfeil der onclick gewertet wird, und bei der Hand die zugreift zum bewegen eben nicht... oder dies automatisch, z.B. sobald die maus 3 sekunden über ein objekt liegt den coursor automatisiert in die Hand zum bewegen umwandeln und den Aktionsmodus so ändern...
Verfasst: 21.06.2009, 13:37
von net(t)worker
mgutt hat geschrieben:Du musst bei onmousemove eine Funktion definieren, in der Du eine globale Variable auf true setzt.
onclick greift entweder auf die gleiche bzw. auf einer andere Funktion zu (je nachdem was Du willst) in der erst geprüft wird, ob die Variable noch false ist.
wird so nicht funzen, da man ein mousemove ja auf jeden Fall immer vor dem onclick haben wird, irgendwie muss die Maus ja über das objekt kommen... und vor dem mousemove zum verschieben wird immer ein onclick kommen... also muss vor dem onclick feststehen was gemacht werden soll....
Verfasst: 21.06.2009, 13:43
von net(t)worker
hier mal verschiedene events:
https://de.selfhtml.org/javascript/spra ... tm#onclick
wie wäre es wenn du anstatt onclick einfach onmousedown und onmouseup verwendest... beim onmousedown das verschieben ermöglichen, und wenn zwischen onmousedown und onmouseup keine bewegung erfolgte dies eben deine "onclick" action ausführst...
Verfasst: 21.06.2009, 14:16
von mgutt
Ach so jetzt verstehe ich erst. Er will klicken und dann bewegen. Ja dann geht nur onmouseup. Vielleicht mit einer Zeitmessung zwischen onmousedown und onmouseup, um einen Klick ermitteln zu können.
Ich verstehe nur nicht aus Bedienungsgründen, warum man ein Objekt bewegen und öffnen kann. In dem Fall erscheint mir ondblclick die besser Wahl zu sein, auch wenn man das dem Nutzer erst sagen muss.