2

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

1)在处理程序 mouseup 事件上将其更改回:仅当我在处理程序上释放按钮时才有效,因此这不是解决方案。

2)在窗口 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

}
4

3 回答 3

6

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

于 2010-09-30T14:42:07.727 回答
2

活动怎么样onmouseout

于 2010-09-30T14:38:36.653 回答
1

这是代码。当文档准备好时,我加载处理函数。

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

}
于 2010-09-30T15:32:59.143 回答