单击文本时选择文本就像“Ctrl + A”一样?

时间:2010-10-25 02:18:44

标签: javascript html range

我想在点击或双击<p>标记时选择段落中的文字。不突出显示,就像使用鼠标选择区域来选择要选择的文本一样!

我在页面上有几个段落和* .rar文件链接地址,我想在点击其中一个时选择所有文本。我认为文本框可以这样工作,但我喜欢它在段落或链接标记中。

有没有办法通过点击另一个元素来选择段落中的所有文字?

3 个答案:

答案 0 :(得分: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);
};

答案 1 :(得分:2)

如果您正在谈论JavaScript,请查看Peter-Paul Koch撰写的Introduction to Range(以其兼容性表格而闻名)。

答案 2 :(得分:0)

您可以通过双击选择整个段落。你为什么要改变它?