指定选取textarea的特定行

2016-01-29 11:38 62 1 收藏

指定选取textarea的特定行,指定选取textarea的特定行

【 tulaoshi.com - Javascript 】

  通常状况下,大家都使采用判断来判断textarea控件中含有多少行,但是,有这么一种情况,就是没有使用回车,而是字符过宽而textarea自动换的行,很显然,上面那种方法就不可行了.

  这里,封装了一个方法getTextRange(num, areaId),这个方法只需要传入textarea的id及其需要的行号,即可以返回指定行,为了灵活,这里没有返回指定行的文本,而是返回了指定行的一个trange对象,如果需要文本,只需调用trange对象的text属性即可.

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/javascript/)

<SCRIPT language="javascript"
/**
 * added by LxcJie 2004.7.16
 * 返回指定行的range对象
 * num为行号,areaId为textarea的id
 */
function getTextRange(num, areaId)
{
    var range = document.all(areaId).createTextRange();
    var rect = range.getClientRects();
    var left = rect[0].left;
    if(num rect.length - 1 || num < 0)
        return;
    if(num == 0)
    {
       var right = rect[0].right;

       range.moveEnd("character",-range.text.length);  
       while(range.offsetLeft + range.boundingWidth < right)
       {
           range.expand("character");
       }
       return range;
    }
    else
    {
        var right = rect[num].right;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/javascript/)

        var range = getTextRange(num - 1, areaId);
        range.moveStart("character",range.text.length + 1);
        while(range.offsetLeft + range.boundingWidth < right)
        {
            range.expand("character");
        }
        if(range.offsetLeft left)
            range.moveStart("character",-1);
        return range;
    }
}

function getText(num)
{
    var range = getTextRange(num,"area")
    if(range != null)
    {
        alert(range.text);
        range.select();
    }
}
</SCRIPT
<TEXTAREA cols="50" rows="10" id="area"
客从东方来,衣上灞陵雨。
问客何为来,采山因买斧。
冥冥花正开,扬扬燕新乳。
昨别今已春,鬓丝生几缕。
</TEXTAREA<p

<input type="button" onClick="getText(0)" value="选第一行"
<input type="button" onClick="getText(1)" value="选第二行"
<input type="button" onClick="getText(2)" value="选第三行"
<input type="button" onClick="getText(3)" value="选第四行"

来源:http://www.tulaoshi.com/n/20160129/1482841.html

延伸阅读
标签: 电脑入门
在有些情况下,我们并不需要打印Excel工作表的某些行。例如,包含机密信息的行,或者包含中间计算结果的行。 这时,我们可以将这样的行隐藏起来,在打印完工作表之后再恢复其显示。如果工作表中包含许多不需要打印的行,隐藏与恢复显示的工作就会比较费时费力了。 下面将向大家介绍一种快速切换行的隐藏与显示状态的技巧,使用这一技巧,会大...
photoshop颜色的选取技巧 Photoshop中提供了三种选择任意色彩的方式:第一是使用颜色调板〖F6〗,拉动滑块确定颜色。Photoshop中颜色分为前景色和背景色,如下图。 位于左上的色块代表前景色,位于其右下方的色块代表背景色。通过点击可以在两者间切换选取颜色。 注意有时候会出现一个 标志,这是在警告该颜色不在CMYK色域,单击 右...
标签: Web开发
扩展textarea 属性,结合jquery.validate.js,在提交表单同时,加上对textarea的长度进行验证。 1.jQuery 对textarea 长度进行验证的插件 代码如下: //对textarea 长度进行验证 jQuery.fn.checkLength = function(parameters) { defaults = { min: 0 , max: 5 } jQuery.extend(defaults, parameters); // 当前textarea 的值 var taV...
标签: Web开发
*{position:absolute;} #panel *{border:1px solid gray} 中国是一个发展中国家 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

经验教程

595

收藏

74
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部