4

ダウン状態またはアップ状態のマウスの状態が欲しい

document.onmousemove = mouseMove;
document.onmousedown = mouseDown;
document.onmouseup   = mouseUp;

function mouseMove(ev) {

    mouseState="";
    //How can I know the state button of mouse button from here 
    if(mouseState=='down') {
        console.log('mouse down state')
    }

    if(mouseState=='up')  {
        console.log('mouse up state')
    }
}

function mouseDown(ev) {
    console.log('Down State you can now start dragging');
    //do not write any code here in this function
}

function mouseUp(ev) {
    console.log('up state you cannot drag now because you are not holding your mouse')
    //do not write any code here in this function
} 

マウスを動かしたとき、プログラムは今のところコンソールに mouseState の必要な値を上下に表示する必要があります

4

2 に答える 2

3

物件を確認できMouseEvent.whichます。

function mouseMove(ev) {
    if(ev.which==1) {
        console.log('mouse down state with left click');
    } else if(ev.which==3)  {
        console.log('mouse down state with right click');
    } else {
        console.log('mouse update');
    } 
}
于 2012-08-31T05:53:42.940 に答える
2

そのための変数を作成する必要があります。

document.onmousemove = mouseMove;
document.onmousedown = mouseDown;
document.onmouseup   = mouseUp;
var mouseState = "up";

function mouseMove(ev) {

    //How can I know the state of mouse from here 
    if(mouseState=='down') {
        console.log('mouse down state')
    }

    if (mouseState=='up')  {
        console.log('mouse up state')
    }
}

function mouseDown(ev) {
    mouseState = "down";
    console.log('Down State you can now start dragging');
    //do not write any code here in this function
}

function mouseUp(ev) {
    mouseState = "up";
    console.log('up state you cannot drag now because you are not holding your mouse')
    //do not write any code here in this function
}

コンソールにログインして、「mousemove」のイベントを確認する必要があります。キープレスイベントにShiftボタンが押されたかどうかを通知するプロパティがあるのと同じように、マウスの状態を示すプロパティがそこにある場合があります。しかし、それはクロスブラウザ互換ではないかもしれません。

于 2012-08-31T05:50:24.253 に答える