Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
542 views
in Technique[技术] by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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

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

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


  1. MDN 对 input 元素 disabled 属性的描述
  2. contextmenu 事件 | MDN

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...