Perder o evento MouseUp se liberar não sobre o mesmo elemento
Eu tenho um problema com um controle deslizante. Quando agarro o manipulador, altero o .src da imagem, apenas para alterar sua cor. No entanto, quero que volte à cor original quando soltar o botão do mouse. Eu tentei duas coisas.
1) Alterando-o novamente no evento de manipulação do manipulador: isso funciona apenas se eu soltar o botão sobre o manipulador, portanto, essa não é uma solução.
2) Altere novamente no evento de ativação da janela: o evento não está sendo acionado corretamente. Se eu clicar e soltar em qualquer lugar da janela, o evento será disparado normalmente, mas se eu clicar no manipulador, mova o cursor para qualquer outro ponto da janela e solte o botão, o evento não será acionado.
Btw, estou usando o prototype js framework.
Soluções? obrigado
Aqui está o código. Carrego a função de manipulador quando o documento está pronto.
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
}