2

スライダーに問題があります。ハンドラーをつかむと、画像の .src を変更して、色を変更します。ただし、マウスボタンを離すと元の色に戻りたいです。私は2つのことを試しました。

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 に答える