0

如果我想按住 SHIFT右键单击执行一个功能,我需要在这里更改什么?

JAVASCRIPT

function myfunction(e) {
if (Input.GetMouseButtonDown(1))
if (e.shiftKey==1) {
//dostuff
}
}

HTML

<input onContextMenu="myfunction(e)" />
4

2 回答 2

3

onContextMenu事件仅在您右键单击某物时触发,因此不会检查按下了哪个鼠标按钮。只是检查e.shiftKey

function myfunction(e){
    if(e.shiftKey){
        // Do Stuff
    }
}

另外,请确保将 传递event给函数:

<input onContextMenu="myfunction(event)" />

或者更好的是,不要使用内联事件处理程序,并将 JavaScript 中的事件与addEventListener.

编辑:您还可以使用onclick事件,并检查右键单击(应该是2):

function myfunction(e){
    if(e.button === 2 && e.shiftKey){
        // Do Stuff
    }
}

然后做:

<input onClick="myfunction(event)" />
于 2013-10-18T20:26:10.330 回答
1

e.which对应于按下的鼠标按钮。3是右键单击。

这是一个小提琴,它显示了如何测试输入上的 shift-right-click。

于 2013-10-18T20:33:12.913 回答