You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

p5.js中mouseClicked()函数RIGHT鼠标按键触发失效问题

解决无法触发右键判断分支的问题

问题核心是浏览器默认的右键上下文菜单会干扰p5.js的事件触发逻辑,导致右键点击时无法进入对应分支。以下是两种可行的解决方法:

方法一:在mouseClicked中阻止右键默认行为

修改代码,在右键分支内添加阻止浏览器默认行为的语句,确保事件能正常执行:

function mouseClicked(event) {
  if (mouseButton === LEFT) {
    console.log("left pressed");
    Nodes.push(new Node(mouseX, mouseY));
  } else if (mouseButton === RIGHT) {
    // 阻止浏览器弹出默认右键菜单
    event.preventDefault();
    console.log("right pressed");
    Attractors.push(new Attractor(mouseX, mouseY));
  }
}

方法二:改用mousePressed事件

mouseClicked需要鼠标按下再松开才会触发,而浏览器右键菜单会打断这个完整流程。改用mousePressed(按键按下时立即触发)更可靠,同时仍需阻止默认行为:

function mousePressed(event) {
  if (mouseButton === LEFT) {
    console.log("left pressed");
    Nodes.push(new Node(mouseX, mouseY));
  } else if (mouseButton === RIGHT) {
    event.preventDefault();
    console.log("right pressed");
    Attractors.push(new Attractor(mouseX, mouseY));
  }
}

注意事项

  • 必须调用event.preventDefault(),否则浏览器的默认右键菜单会打断你的代码执行。
  • 确认使用的是p5.js内置的LEFT和RIGHT常量,这两个标识已预设对应左键和右键的判断值。

内容的提问来源于stack exchange,提问作者Kew Yu Jun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:12:06