点击文本时如何像“Ctrl+A”一样选择整段文本?

5
当我单击或双击<p>标签时,我希望能选择段落中的文本。不是高亮显示,而是像使用鼠标选择区域来选择要选择的文本!
在页面上有几个段落和*.rar文件链接地址,当我点击其中一个时,我希望选择所有文本。我认为文本框可以这样工作,但我喜欢它在段落或链接标记中。
是否有一种方法通过单击另一个元素来选择段落中的所有文本?

1
请提供更多的信息。 - Petah
1
这需要更多的上下文。你是在询问一个文本编辑器吗?一个WinForms应用程序?一个Web应用程序?一个iPhone应用程序?还是一个Android应用程序? - Yuliy
听起来你想选择段落文本。你已经可以做到了。(哇,这个问题解决得真快。)但是说真的,请给我们更多信息。 - doppelgreener
我们应该将其标记为HTML吗?"点击"p"标签"听起来与HTML有关。 - Alex Jasmin
3个回答

7
这是一个函数,它会选择您传递给它的元素的内容:
function selectElementContents(el) {
    var range;
    if (window.getSelection && document.createRange) {
        range = document.createRange();
        var sel = window.getSelection();
        range.selectNodeContents(el);
        sel.removeAllRanges();
        sel.addRange(range);
    } else if (document.body && document.body.createTextRange) {
        range = document.body.createTextRange();
        range.moveToElementText(el);
        range.select();
    }
}

window.onload = function() {
    var el = document.getElementById("your_para_id");
    selectElementContents(el);
};

太好了!我以为这是获取我的目标的另一种方法。非常感谢你!! - qinHaiXiang

2
如果您想谈论JavaScript,可以看Peter-Paul Koch的Introduction to Range(以他的兼容性表格而闻名)了解更多。

非常抱歉!这是关于网页功能的问题。我在页面上有几个段落,当我点击其中一个时,我想选择所有文本。 - qinHaiXiang
我曾尝试使用文本框来保存文件链接地址,当我聚焦并选择文本框中的文本时,FlashGot可以正常工作。但是当我取消选择文本框时,FlashGot仍然保留着文件链接地址! - qinHaiXiang
range.selectNodeContents在Chrome中未定义。 - SuperUberDuper

0

你可以通过双击来选择整个段落。你为什么想要改变这个呢?


是的,我很蠢。但是有没有办法通过单击另一个元素(例如标题“h”标记)来选择段落文本? - qinHaiXiang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接