【问题标题】:jQuery: triggering paste?jQuery:触发粘贴?
【发布时间】:2011-07-30 10:35:11
【问题描述】:

有没有办法在jQuery中触发粘贴?

或者可能是一个更广泛的问题:是否有任何跨浏览器的方式来触发使用 Javascript 的粘贴?

【问题讨论】:

  • 您希望任何网站从您的剪贴板中收集任何数据吗?
  • @fazo - “你想要”不是对这类问题的公平回答。在技​​术上,HTML、JS 和 DOM 曾经或多次在技术上可能发生各种可怕的行为(并且没有迅速修补)。主要浏览器最近才屏蔽了这个,例如:stackoverflow.com/questions/2394890/…。当然,在这种情况下,答案是“不,这在技术上是不可能的”,但这与它是否是一种好的做法的问题是分开的。
  • @Ben 你是对的,但我的意思是“你是否希望你的浏览器提供潜在的敏感数据以供网络服务器收集”。不幸的是,人们面临着 ie 和 flash 的风险
  • 触发粘贴事件与检索剪贴板内容不同。 JavaScript 有一个可以触发的“onPaste”事件。

标签: javascript jquery paste


【解决方案1】:

从用户的剪贴板获取数据是一个相当大的安全风险(对用户而言)。零剪贴板将使您成为其中的一部分(需要 Flash),尽管它只会让您使用您使用他们的库复制的内容来模仿粘贴。

http://code.google.com/p/zeroclipboard/

不过,您不会找到跨浏览器的 JavaScript 或 jQuery 唯一解决方案。

【讨论】:

  • “不过,你不会找到一个跨浏览器的 JavaScript 或 jQuery 唯一的解决方案。”如前所述,有充分的理由,这是一个巨大的安全问题,作为用户,我讨厌它。作为开发人员,我意识到用户讨厌它,因此我不这样做。
  • 不幸的是,在某些情况下,为了可用性,客户会要求这样的行为。假设您有一个分为 3 个输入的字段(例如电话号码),并且有人希望能够将完整的电话号码粘贴到字段中。你会怎么做?好吧,您可以将粘贴事件附加到第一个输入中(使用 jquery),但这只有在您不限制第一个字段的输入时才有效,但是为了附加功能而牺牲您的字段限制。不幸的是,我不得不实施一些重要的解决方案来解决这个问题。
【解决方案2】:

您无法在 JavaScript 中以编程方式触发剪切、复制或粘贴,但仍保持跨浏览器支持。这些动作只能来自用户。

【讨论】:

  • 这不再相关,剪切和复制已在所有常青浏览器中实现。
猜你喜欢
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-29
  • 1970-01-01
相关资源
最近更新 更多