0

我在 iframe 中有一个文本区域。我想在 JavaScript 中选择带有 onclick 事件的 textarea 文本。

例子:

I have an iframe.

The inner content of the iframe is this:
<textarea id="textarea" disabled onclick="selectthis()">
"content of textarea"
</textarea>

我想选择文本以便用户可以复制它:

I put this at the head of my page:

function selectthis() {
   document.getElementById('textarea').select();
}

但是当我点击 textarea 时,它没有被选中。

4

3 回答 3

1

你需要这个:

document.getElementById('textarea').select();

函数在 Javascript 中区分大小写,因此请确保正确大写所有内容(我egetElementById.

于 2012-05-20T20:46:32.037 回答
1

          你getElementById打错了。


更改getelementByIdgetElementById。JavaScript 区分大小写。

在此处输入图像描述 http://jsfiddle.net/DerekL/ArGhg/

加,

<textarea id="textarea" onclick="selectthis">  <!--Nope-->
<textarea id="textarea" onclick="selectthis();">  <!--Yup!-->

更新

我看到你在那里做了什么。您不能选择禁用 <textarea>的文本。
http://jsfiddle.net/DerekL/ArGhg/2/

根据 Francisc 的评论,使用readonly将解决问题。
http://jsfiddle.net/DerekL/ArGhg/3/

于 2012-05-20T20:47:14.347 回答
0

该函数selectthis可能会生成一个 ecception,因为它找不到任何具有textareaas id 的元素。问题是您使用document.getElementById(我修正了错字),但 textarea 不属于document. 您必须访问 iframe 自己的文档对象,通常是这样的:

var iframe = document.getElementsByTagName("iframe")[0];
var ifrDoc = iframe.contentDocument;
var textarea = ifrDoc.getElementById("textarea");
textarea.select();

注意:在 IE8 中你必须指定一个 doctype,而在早期版本中你可以使用它iframe.contentWindow.document

于 2012-05-20T20:47:16.050 回答