我在iframe中有一个textarea。我想用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时,它没有被选中。
答案 0 :(得分:1)
你需要这个:
document.getElementById('textarea').select();
Javascript中的函数区分大小写,因此请确保正确地将所有内容都大写(我将e
的{{1}}大写。
答案 1 :(得分:1)
getElementById
错误。将getelementById
更改为getElementById
。 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/
答案 2 :(得分:0)
函数selectthis
可能会生成一个ecception,因为它找不到textarea
作为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
代替。