【问题标题】:html span id as javascript function argumenthtml span id 作为 javascript 函数参数
【发布时间】:2012-08-10 01:08:01
【问题描述】:

我正在尝试创建复制到剪贴板 IE javascript 函数,但我的代码无法正常工作。我应该如何格式化我的参数并传递参数?

/*invisible storage*/
<textarea id="storageBox" STYLE="display:none;">
</textarea>

<p id="abc">I WANT TO COPY THIS TEXT</p>

<button onClick="Copy(abc);">Copy</button><br />

<script type="text/javascript">
function Copy(txt) {
storageBox.innerText = txt.innerText;
Copied = storageBox.createTextRange();
Copied.execCommand("RemoveFormat");
Copied.execCommand("Copy");
}
</script>

任何可以使用 zclip 编写此内容或向我展示类似示例的人的主要业力!!

【问题讨论】:

  • 您的浏览器是否设置为允许访问剪贴板?
  • 我在 IE 中打开页面时允许执行脚本,是的。
  • 实际上您的脚本运行良好。只需检查您的 Internet 选项以允许脚本使用剪贴板。
  • @CptZpBrngn 不是脚本,剪贴板访问就像前面提到的评论一样。

标签: javascript html formatting arguments zclip


【解决方案1】:

以下更改应该会有所帮助:

... onclick="Copy('abc');"...

storageBox.value = document.getElementById(txt).innerText

我想。您并没有很具体地说明什么不起作用,甚至出于什么原因试图劫持剪贴板(如果用户在那里有重要的东西怎么办?)

【讨论】:

  • 不幸的是,这不起作用。 storageBox 也是一个 id 有关系吗?当我使用 document.getElementById("storageBox") 创建一个 var 时,单击按钮时它仍然什么都不做。我绝对同意这是一种糟糕的形式,非常想使用 zclip,但我对 js 很陌生。
  • 那么我强烈建议您在提出关于 SO 的问题之前先找一本好书或在线教程。这里提出问题的部分政策是,您必须在寻求帮助之前做好功课。此外,如果您需要读取或写入 textarea,则语法是 [textarea object].value,而不是 innerText。这里的其他答案也非常有效 - 也将它们考虑在内。
【解决方案2】:

虽然我评论您的脚本运行良好,但 HTML 中仍有一些问题需要修复。如果你设置display: noneexecCommand()就不能复制内容。所以你需要这样做:

<textarea id="storageBox" style="width: 0px; height: 0px; border: 0px;"></textarea>

【讨论】:

  • 这肯定会在正确更改参数后使脚本正常工作,但会创建一个像素大小的正方形。谢谢你的信息。
  • @CptZpBrngn 您可以绝对定位textarea 并设置top: -500px。尽管其他答案指导您正确传递参数,但您的原始脚本也可以按原样工作。在 IE 中 id 创建一个引用该元素的全局变量。
【解决方案3】:

首先,您需要将参数作为字符串传递:

<button onClick="Copy('abc');">Copy</button><br />

在您的函数中,您需要根据此 ID(作为字符串)从 DOM 中获取元素:

function Copy(txt) {
   storageBox.innerText = document.getElementById(txt).innerText;
   ...

【讨论】:

  • 这与 Art 建议的相同,但不幸的是不起作用。我有什么方法可以通过实用程序运行代码以提取特定错误或警告?
  • 使用 Firefox,外加 Firebug 插件。打开 JS 控制台,你应该会看到错误。
猜你喜欢
  • 2012-09-12
  • 2017-07-16
  • 1970-01-01
  • 2022-12-12
  • 2020-01-30
  • 1970-01-01
  • 2011-06-23
  • 2013-12-23
相关资源
最近更新 更多