javascript获取textarea中所选文本的开始位置、结束位置和选择的文本

javascript获取textarea中所选文本的开始位置结束位置选择的文本
demo:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>javascript获取textarea中所选文本的开始位置结束位置选择的文本</title>
</head>
<body>
<textarea name="" id="test" cols="30" rows="10"></textarea>
<script type="text/javascript">
//获取所选文本的开始和结束位置
function getPositions() {
    var el = document.getElementById("test"),
        x = 0,
        y = 0,
        val = el.value;
    //IE
    if (document.selection) {
        //创建范围对象
        var range = document.selection.createRange();
        //克隆对象
        var drange = range.duplicate();
        //复制范围
        drange.moveToElementText(el);
        drange.setEndPoint("EndToEnd", range);
        x = drange.text.length - range.text.length;
        y = x + range.text.length;
    }
    //Firefox,Chrome,Safari,opera etc
    else if (window.getSelection) {
        x = el.selectionStart;
        y = el.selectionEnd;
    }
    return {
        "val": val,
        "x": x,
        "y": y
    };
}
//获取textarea中选择的文本
document.onmouseup = function() {
    if (window.getSelection) {
        //Firefox,Chrome,Safari,opera etc
        console.log(getPositions().val.substring(getPositions().x, getPositions().y));
    } else if (document.selection) {
        //IE,IE下可以直接获取,不必利用开始和结束位置截取
        console.log(document.selection.createRange().text);
    }
};
</script>
</body>
</html>
时间: 2024-10-13 02:45:11

javascript获取textarea中所选文本的开始位置、结束位置和选择的文本的相关文章

JavaScript获取地址栏中的参数

1.获取地址栏中的参数 (1)若地址栏中的地址是: http://10.124.36.56:8080/CMOD/index.jsp?name=you&password=123456&type=student (2)获取地址栏中的最后一个参数type 2.实现的JS function getAddressURLParam(paramName) { //构造一个含有目标参数的正则表达式的对象 var reg = new RegExp("(^|&)" + paramN

JavaScript获取地址栏中的参数值并存入一个对象

1 var getArgs = function () 2 { 3 var args = new Object(); //声明一个空对象 4 var query = window.location.search.substring(1); // 取查询字符串 5 var pairs = query.split("&"); // 以 & 符分开成数组 6 for(var i = 0; i < pairs.length; i++) { 7 var pos = pair

利用javascript获取url中的传值并创建页面元素

url传值: 在地址后附加 ?键1=值1&键2=值2&键3=值3... ...(注意:该方法会将参数显示在地址栏中,传入的值应该不影响网站安全和透露网站内部信息) <script type="text/javascript"> //该函数将获取url中的键值组合,并通过传入的键参数返回键所对应的值 function getvl(name) { var reg = new RegExp("(^|\\?|&)" + name + &q

获取textarea中的值用value和innerHTML的区别

今天在做一个文字移动的小东西的时候发现一些特点: 1.除了表单元素,其它的标签在浏览器页面中都是不可写的. 2. textarea 用value可以获取当前的textarea中的值 而innerHTML获取的是一开始的页面中的值,从文档中获取 经测试发现,当我们浏览器显示的页面上修改textarea中的值的时候, 实际上文档里的内容还是没有改变的(通过审查元素可以看到textarea中的内容)而innerHTML获取的就是文档中的内容 当我在页面上改变textarea中的值的时候,文档中是没有改

JavaScript获取table中某一列的值的方法

1.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C

RootFramework框架实现文件读取和上传以及使用JavaScript获取fields中的值

1.项目中使用的相对路径需要转换成绝对路径,(Python方法实现 os.path.abspath('path')) 2.choose file [locators,file_path](传入参数文件存放的fields 以及传入的文件路径) 3.获取输入框中的值 :execute JavaScript return document.getElementById("id").value

javaScript获取url中的参数

var urlTools = { //获取RUL参数值 getUrlParam: function(name) { /*?videoId=identification */ var params = decodeURI(window.location.search); /* 截取?号后面的部分 index.html?act=doctor,截取后的字符串就是?act=doctor */ var reg = new RegExp("(^|&)"+ name +"=([^&

JSP中获取TextArea中的值

1.写这个大部分人都会,获取其中的值,但获取的时候就会出现我们不愿意看见其中的乱码问题 今天写这个就是来解决乱码问题.下面以一个小例子来讲解 2. (1)首先编写一个JSP页面,用来接收来自前端页面的输入 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLI

使用javascript获取gridview中的textbox值

<body> <form id="form1" runat="server"> <div> <asp:gridview ID="GVReue" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <Columns> <asp:T