禁用Ctrl + C.

pri*_*inn 1 html javascript java jsf

注册网站时,它有2个字段.电邮和电子邮件确认.问题是,人们正在复制他们在第一场上写的东西,并粘贴在另一场上.我想禁用它,有可能吗?

<h:inputText id="email" value="#{registerBean.email}" maxlength="60" />
Run Code Online (Sandbox Code Playgroud)

Edw*_*uck 7

在UI设计中追踪的最重要的事情之一(如果你关心一致的用户界面)是人们期待的所有细微差别.

如果禁用"复制"热键序列,那么很多人会感到沮丧,因为您的界面不符合操作系统其余部分的细微差别.虽然我理解为什么你可能想要这样做,但这并不能说服人们你的代码没有被破坏.毕竟"Ctrl + c"在其他地方都有效.

一旦您偏离了强制执行预期的UI控制细微差别,那么您需要指出允许细微差别的位置以及拒绝的位置.这是一个不一致的用户界面的定义.由于用户不打算让你在那里解释"为什么"当用户界面执行他们不期望的事情时,他们总会认为这是一个错误.如果他们确实让你在那里告诉他们为什么他们不能在他们的操作系统的其他任何部分做一些允许的事情,那么他们将不可避免地认为你在执行其他人允许的愚蠢行为时过于热心.

解决方案是使用更好的解决方案.强制执行已经预期的减少学习曲线,或选择一些(提到OpenID)来回避令人反感的任务.