【问题标题】:onPaste not recognized as event by HTML5HTML5 不将 onPaste 识别为事件
【发布时间】:2019-01-13 00:00:04
【问题描述】:

我正在制作用户注册表单,并希望防止粘贴到某些输入框中。问题是,onPaste 没有被识别为一个事件。 正如您在这张图片中看到的,onKeyPress 正在被识别,而 onPaste 则没有。

经过一番谷歌搜索后,似乎我是这个星球上唯一遇到过这种情况的人(这可能意味着这很愚蠢,而且我是个大白痴)。我正在使用 NetBeans IDE 8.2。提前感谢您的帮助。

【问题讨论】:

  • 是的,clipBoard API 目前有很多问题:caniuse.com/#search=paste
  • 你为什么要惩罚使用密码管理器的人?防止人们粘贴密码确实是您不应该做的事情。见security.stackexchange.com/questions/131106/…
  • 也许是您的 IDE 无法识别 onpaste 事件?浏览器主要支持它相当广泛,你可以在兰迪的链接后面看到。顺便提一句。该图像没有向那些不熟悉 IDE 的人说明“识别” onpaste 事件的任何信息,您没有在帖子中包含这个名称...
  • 如果有问题,提供一个最小的、完整的、可验证的例子会很有帮助。见stackoverflow.com/help/mcve
  • 抱歉,我使用的是 NetBeans IDE 8.2(我将编辑帖子以包含此内容)。 onPaste 被视为非事件属性。感谢 Ivar 及时指出;我是网页设计的新手。

标签: javascript html onpaste


【解决方案1】:

function preventPasting(id) {
  console.log(id);
}
<input type="password" class="form-control" maxlength="50" id="password" onpaste="preventPasting(this.id)">

将 'onPaste' 更改为 'onpaste',可能就像这段代码。

更多关于 onpaste 的文档:https://www.w3schools.com/jsref/event_onpaste.asp

【讨论】:

    【解决方案2】:

    尝试使用onpaste 而不是onPaste,如w3c 示例页面上所示。你用的是什么IDE?尝试使用不同的语法高亮插件或插件。

    【讨论】:

    【解决方案3】:

    哎呀!正如我所怀疑的那样,我是一个大白痴。 onPaste 在我的 IDE 中似乎不会被识别为事件,但在运行时它实际上会触发。我的事件的 JavaScript 代码有缺陷,这就是为什么没有发生任何事情。

    感谢大家的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      相关资源
      最近更新 更多