2010-10-25 86 views
5

我想单击或双击<p>标记时选择段落中的文本。不会突出显示,就像使用鼠标创建选择区域来选择要选择的文本一样!点击文字时,请选择文字,就像“Ctrl + A”一样?

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

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

+1

嗯,这需要更多的上下文一点的更多信息,请 – Petah 2010-10-25 02:20:14

+1

。你在问一个文本编辑器吗?一个WinForms应用程序?一个Web应用程序?一款iPhone应用程序? Android应用程序? – Yuliy 2010-10-25 02:20:56

+0

从它的声音:你想能够选择段落文本。你已经可以做到这一点。 (哇,这很快就解决了。)但是,认真给我们提供更多信息。 – doppelgreener 2010-10-25 02:22:54

回答

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); 
}; 
+0

完美!我认为这是实现我的目标的另一种方式。非常感谢! – qinHaiXiang 2010-10-25 13:57:47

2

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

+0

我很抱歉!它是关于网页功能的。我在页面上有几个段落,并且当我点击其中的一个时,我想选择所有文本。 – qinHaiXiang 2010-10-25 02:35:57

+0

我已经尝试使用文本框来保存文件链接地址,当我集中精力和选择文本框中的文本。flashgot工作正常。但是当我取消选择文本框时,flashgot仍然保持文件链接地址! – qinHaiXiang 2010-10-25 02:46:19

+0

range.selectNodeContents is undefined .. in chrome – SuperUberDuper 2015-03-26 10:25:25

0

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

+0

是的,我很愚蠢。但是它是通过点击另一个元素来选择段落文本的方法,比如标题“h”tag!? – qinHaiXiang 2010-10-25 03:23:26

相关问题