我没有在互联网上找到任何例子,Vue本身只支持左右点击,这很奇怪,因为它是一个相当基本的事情,很容易用普通的Javascript。我只需要一种方法,只在两个鼠标按钮都被按下时才触发事件,而且不为单独的鼠标按钮触发任何事件-这在Vue中可能吗?
j0pj023g1#
实现如下。“同时单击”任意位置进行测试。您可以调整超时值以获得更高的精度。
let leftClick, rightClick; window.addEventListener('mousedown', event => { leftClick = event.button === 0 || leftClick; rightClick = event.button === 2 || rightClick; if (leftClick && rightClick) { // your logic here console.log("both clicked"); } else { setTimeout(() => { leftClick = false; rightClick = false; }, 200); // <-- timeout value } }); // prevent context menu window.addEventListener('contextmenu', event => { if (leftClick && rightClick) event.preventDefault(); });
1条答案
按热度按时间j0pj023g1#
实现如下。“同时单击”任意位置进行测试。您可以调整超时值以获得更高的精度。