erkennen mouseup außerhalb der mousedown-element

Ich versuche zu erkennen, wenn das mouseup (Maustaste losgelassen) tritt außerhalb des Elements, die das mousedown-Ereignis ausgelöst wurde. Ich habe mehrere buttons, die ich verändern, die CSS (mit Klassen) mit einem mousedown (button drücken) und Abschluss klicken (mousedown+mouseup). Problem ist, dass wenn Sie klicken Sie auf das element, dann lassen Sie die Maustaste außerhalb des Elements, dass das mouseup-nicht ausgelöst. Ich habe auch versucht die Erfassung einer Allgemeinen "mouseup" - Ereignis auf das Dokument, um die "reset" - Klassen zugeordnet, um das element und das scheint nicht zu funktionieren.

Hier ist eine Beispiel-HTML:

<div class="qbuttons">
<a id="qb_appointments" href="#" class="appointments"><div>
Schedule a Service<br />
Appointment</div></a>
</div>

Hier ist die jQuery, die ich benutze, um Geige mit dem element:

var current_qbutton = "";

$('.qbuttons a').mousedown(function() {
    current_qbutton = $(this).attr('id');
    $(this).addClass('active');
});

$('.qbuttons a').click(function() {
    $(this).removeClass('active');
});

$('*').mouseup(function(event) {
    event.stopPropagation();
    alert(current_qbutton);
    if(current_qbutton != "") {
        $('#' + current_qbutton).removeClass('active');
        current_qbutton = "";
    }
});

Ich habe versucht, verschiedene Selektoren für die mouseup -- document, window, " Körper *', 'html ' und '' -- von dem, was ich sehe, scheint es, dass das mouseup-nicht feuern loslassen der Maustaste außerhalb des mousedown-element, weil die Ausschreibung nicht passieren.

Sie haben es herausgefunden, den mousedown / mouseup-Ereignisse, die nicht arbeiten, so haben Sie, um herauszufinden, einige andere Weg, das zu tun, was auch immer es ist Sie versuchen zu tun. Hier ist eine Geige zu spielen -> jsfiddle.net/xQamz

InformationsquelleAutor Rob Emenecker | 2013-07-02

Schreibe einen Kommentar