文字的选中功能是不太常用的功能,多出现在文本编辑器中,或是文本域之类的光标处理上。所以呢,使用的一些属性也并不是常见的。在IE浏览器下使用的是createTextRange而Firefox/chrome等现代浏览器下使用的是setSelectionRange。
假设文本域对象的名称是obj,则在IE及非IE浏览器下实现指定文字选中的代码如下:
IE浏览器下:
var range = obj.createTextRange();
range.moveStart("character", 开始序号);
range.moveEnd("character", 结束序号);
range.select();
非IE浏览器下:
obj.setSelectionRange(开始序号, 结束序号);
obj.focus();
所以,为了在各个浏览器下都能实现效果,我们需要将上面的两段代码组合一下,结果如下:
if(obj.createTextRange){//IE浏览器
var range = obj.createTextRange();
range.moveEnd("character",结束序号);
range.moveStart("character", 起始序号);
range.select();
}else{//非IE浏览器
obj.setSelectionRange(起始序号, 结束序号);
obj.focus();
}
实现:
代码
CSS代码:
textarea{font-size:1em; width:500px; height:100px;}
HTML代码:
<textarea id="target"></textarea>
<p><button id="btn">插入话题</button></p>
JS代码:
var $ = function(id){
return document.getElementById(id);
};
$("btn").onclick = function(){
var con = "请在这里输入自定义话题";
//转载文字
$("target").value += "#"+con+"#";
var l = $("target").value.length;
//创建选择区域
if($("target").createTextRange){//IE浏览器
var range = $("target").createTextRange();
range.moveEnd("character",-l)
//range.moveStart("character",-l)
range.moveEnd("character",l-1);
range.moveStart("character", l-1-con.length);
range.select();
}else{
$("target").setSelectionRange(l-1-con.length,l-1);
$("target").focus();
}
};
分享到:
相关推荐
Android 自定义view-仿新浪微博#话题#插入EditText 博客地址http://blog.csdn.net/u014702653/article/details/52799715
完全仿照 新浪微博图片 显示 制作 公司要制作这样一个东东 花了一个礼拜写的 稍微改改完全满足你的需求的
表情功能的实现虽说不难,但却比较繁琐,首先要了解新浪微博开放平台的表情API,然后通过某种方式调用,如果通过网页后台代码直接读取储存到JavaScript变量中,又会拖慢网页加载速度,如果采用AJAX读取,又要解决...
见博客:http://blog.csdn.net/baidu_nod/article/details/38355279
javaScript实现微博发布面板效果.采用的js知识有: 正则表达式区分中英文字节、随机数生成等函数 淡入淡出、缓冲运动。闪动等动画函数 onfocus、onblur、oninput、onpropertychange等事件 动态添加元素,...
完美市县了DOCX格式的模板文字替换与插入浮于文字上方的图片。
微博,是基于用户关系的社交媒体平台,用户可以通过PC、手机等多种移动终端接入,以文字、图片、视频等多媒体形式,实现信息的即时分享、传播互动 [1] 。微博基于公开平台架构,提供简单、前所未有的方式使用户能够...
本文实例讲述了js实现类似新浪微博首页内容渐显效果的方法。分享给大家供大家参考。具体分析如下: 要点一: if(list_li.length>=1){ list.insertBefore(li,list_li[0]); }else{ list.appendChild(li); } 从在前面...
屏蔽来自指定客户端的微博(如“皮皮时光机”、“微访谈”)- 屏蔽包含淘宝、天猫链接的微博- 屏蔽强行插入时间线的推广微博、热门微博(粉丝头条)、好友赞过的微博、关注话题推荐的微博- 屏蔽已删除微博的转发- ...
JavaScript 使用ActiveX实现在Excel文件中插入图片
利用excelvba实现对文件夹下的dwg文件进行文字替换、块插入等批量操作,可以看源码
Node.js结合sqlite3模块实现Sqlite数据库建表并实现大数据量的快速插入
textarea中有大量数据,获得鼠标选中的部分数据
源码BlackLight,BlackLight 是由纸飞机开发团队开发的一款Android上的新浪微博第三方轻量级客户端。没有任何商业化的因素,没有广告(新浪友情插入的除外),是一个最纯净的新浪微博客户端。
按照项目需求,参考网上资源,实现了VBA宏控制Excel 按行插入和删除的事件处理,插入行后的单元格合并以及实现通过单元格的动态条件公式自动计算功能。
JS 实现动态插入输入框以及删除、位置调换
类似QQ和微博文本框插入表情和图片,无任何插件,纯js开发,代码简单易懂。
word文档中批量插入图片和文字,可自定义每一页要显示的图片数量。图片自动适应单元格大小
线性表的顺序表示和插入、删除、归并C语言代码实现。根据严蔚敏编的C语言版程序编写。