火狐浏览器 input 上禁用鼠标右键取消默认系统菜单失效

火狐浏览器下将input 设置为 disable=“true” 原本已经屏蔽的鼠标右键功能在不可编辑的input上再次出现系统默认菜单 而正常的input确实可以实现屏蔽右键功能 其他浏览器均正常

阅读 2.7k
1 个回答

“其他浏览器均正常” 没有复现。也不应该复现。

首先应该是 disabled 属性,而不是 disable 属性。其次,disabled 属性只会屏蔽 click 事件,click 事件指点击事件(电脑上通常指鼠标左键的点击事件),而打开右键菜单属于 contextmenu 事件(在电脑上通常由鼠标右键点击触发),不受影响。

要屏蔽 <input> 的右键菜单还需要手动 addEventListener 侦听 contextmenu 然后调用 event.preventDefault


  1. MDN 对 input 元素 disabled 属性的描述
  2. contextmenu 事件 | MDN
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题