我正在尝试使用几个鼠标事件侦听器。这包括mousedown和contextmenu。我遇到的问题是,当我想运行contextmenu侦听器时,mousedown事件也会运行。
我认为你可以通过获取事件来判断发生了哪个事件,只是不确定语法。这就是我计划要做的:
$("#temp_canv").mousedown(e => {this.line_down(e);});
$("#temp_canv").contextmenu(e => {
e.preventDefault();
//...*context menu code*
});
line_down(e)
{
if(e.*whatever will give me the events associated does not have contextmenu as well.* != contextmenu) //<--not sure of the syntax
{
//*Run only line_down events that are not associated with context menu*
}
}
2条答案
按热度按时间erhoui1w1#
我找到了答案。原来你只需要做“if(e.button == 0)”来右键单击。就这么简单
2cmtqfgy2#
我将补充:我在我的函数中同时有三个处理程序,分别用于mousedown,mouseup和contextmenu。对于contextmenu,我设置条件if(eventRightBtn.button == 2),对于mousedown和mouseup,设置条件if(event.button == 0)。