如果不在同一元素上释放,则丢失MouseUp事件

Alb*_*mon 2 javascript css events onmouseup prototypejs

我有滑块问题.当我抓住处理程序时,我改变图像的.src,只是为了改变它的颜色.但是,我希望它在我释放鼠标按钮时更改回原始颜色.我尝试了两件事.

1)在处理程序mouseup事件上更改它:这只有在我释放处理程序上的按钮时才有效,所以这不是一个解决方案.

2)Changin它返回窗口mouseup事件:事件未正常触发.如果我在窗口的任何位置单击并释放,则事件会正常触发,但如果我单击处理程序,将光标移动到窗口的任何其他位置,然后释放按钮,则事件将不会触发.

顺便说一句,即时通讯使用原型js框架.

解决方案?谢谢

这是代码.我在文档准备好后加载处理函数.

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

}
Run Code Online (Sandbox Code Playgroud)

lin*_*lnk 6

您应该将mouseup处理程序附加到document对象.