Trebuie să atașez două evenimente (clic și selectat) pe un element

aici este problema, trebuie să atașez două evenimente (clic și direcționat) pe un element, dar când fac clic pe element, de asemenea, declanșează un eveniment complet. Există vreo modalitate de a rezolva asta? Am văzut codul sursă al comenzilor, acesta leagă evenimentul de mousedown, așa că va declanșa prin click.while cum pot detecta dacă este tras cu clic sau trageți.

în caz contrar, dacă există o modalitate bună de a detecta elementul de stațiune sau nu va fi bine.

2
ceea ce fac, este design-ul unui director de fișiere web.de click este în director, drag-ul este de a sorta dosarul. este mouseup poate să-mi spui ceva?
adăugat autor nay, sursa
Care este funcționalitatea dorită cu clicul?
adăugat autor Sergio, sursa
puteți explica un pic mai bine, poate puteți verifica dacă mouseup este în același loc? adică nu mișcarea mouse-ului?
adăugat autor Sergio, sursa

2 răspunsuri

O opțiune, subliniată de Timmeh la #mootools irc, este să folosești evenimentul onSort și să ai un steag acolo.

Ca:

onSort: function() {
    this.sorted = true;
},
onComplete: function (el) {
    if (this.sorted) {
        alert("complete trigger complete");
    }
    this.sorted = false;
}

Virajul

1
adăugat
Îmi pare rău, nu înțeleg cu adevărat evenimentul cancel . Și ceea ce am folosit este ala. github.com/mootools/mootools-more/blob/master/Sour‌ ce/Drag & & hellip;
adăugat autor nay, sursa
am uitat să spun evenimentul complete ? când elementul de clic, evenimentul complete și faceți clic pe va declanșa ambele fire. > complete eveniment când faceți clic pe fiddle.jshell.net/hLJ8c/2
adăugat autor nay, sursa
care functioneaza bine.but am gasit un alt bug, cu mootools compat, o mica miscare va declansa clic, puteti incerca, dar nu conteaza, eu folosesc de obicei nocompat. btw, vreau să detectez dacă este reSort, fiddle.jshell.net/hLJ8c/3 aici este soluția mea, puteți găsi o cale mai bună? și mulțumesc pentru ajutor!
adăugat autor nay, sursa
Tragem și țineți elementul # 1 prin alt element, apoi mergeți înapoi la locul de început al elementului # 1 și plasați-l. Acum, sortarea listei este ca și cum ar fi fost suportată. Nu mai schimbați nimic, dar complete Evenimentul este încă concediat.Deci vreau să știu când sunt completate comenzile, există o modalitate mai bună de a detecta lista este reSort sau nu
adăugat autor nay, sursa
@nay, am folosit un exemplu drag.drop, am actualizat viola cu un exemplu de comenzi. Verificați aici - fiddle.jshell.net/hLJ8c
adăugat autor Sergio, sursa
@n nicio zi, actualizat cu o intrare de la IRC
adăugat autor Sergio, sursa
Nu înțeleg ce vrei să spui prin "a detecta dacă este reSort"? interesant bug cu nocompat ...
adăugat autor Sergio, sursa
@nay, verificați acest lucru: fiddle.jshell.net/F2VKK/5 - Am adăugat o nouă funcție pentru a compara matricele și de a folosi steagul. Problema cu compat/more este că folosește snap-ul, îl puteți redefini în opțiuni și adăuga o valoare mai mare la acesta.
adăugat autor Sergio, sursa

Checking the element seems to work http://fiddle.jshell.net/F2VKK/3/

0
adăugat
aici este un bug, atunci când trag elementul unu, alerta "drag", apoi eu fac clic pe elementul unu, încă alertă "drag". dar alt element va alerta "faceți clic pe"
adăugat autor nay, sursa