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

我有滑块问题。当我抓住处理程序时,我改变图像的.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

}
    
已邀请:
您应该将
mouseup
处理程序附加到
document
对象。     
onmouseout
活动怎么样?     
这是代码。我在文档准备好后加载处理函数。
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

}
    

要回复问题请先登录注册