MouseUp-Ereignis verlieren, wenn die Freigabe nicht über demselben Element erfolgt

Ich habe ein Problem mit einem Schieberegler. Wenn ich den Handler ergreife, ändere ich die .src des Bildes, nur um seine Farbe zu ändern. Ich möchte jedoch, dass es wieder die ursprüngliche Farbe annimmt, wenn ich die Maustaste loslasse. Ich habe zwei Dinge ausprobiert.

1) Beim Handler-Mouseup-Ereignis zurücksetzen: Dies funktioniert nur, wenn ich die Schaltfläche über dem Handler loslasse. Dies ist also keine Lösung.

2) Ändere es wieder auf das Window Mouseup Event: Das Event wird nicht richtig ausgelöst. Wenn ich an einer Stelle im Fenster klicke und loslasse, wird das Ereignis normal ausgelöst. Wenn ich jedoch in den Handler klicke, den Cursor an eine andere Stelle im Fenster bewege und dann die Schaltfläche loslasse, wird das Ereignis nicht ausgelöst.

Btw, ich benutze den Prototyp js Framework.

Lösungen? Vielen Dan

Hier ist der Code. Ich lade die Handler-Funktion, wenn das Dokument fertig ist.

function handler()
{

    var handler = $('handler');

    Event.observe(window, "mouseup", function(){
        alert('salta');   //to see when mouseup fires
        if(handler.src=='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png'){    //orange
            handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper.png';}    //grey
    });


    Event.observe(handler,'mousedown',function(){handler.src='http://localhost/moodle/blocks/videoavatar/eggface/trunk/gripper_o.png';});    //orange

}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage