js操作输入框中选择内容兼容IE及其他主流浏览器


Posted in Javascript onApril 22, 2014

工作中遇到需要给输入框中选中的内容增加超链接

function addHref(des){ 
var selectedText=""; 
if(window.getSelection&&des != undefined){//兼容非IE浏览器,由于非IE浏览器需要给定操作的元素ID才可以获取输入元素中选中的内容,因此需要输入ID var textField=document.getElementById(des); 
var selectionStart=textField.selectionStart; 
var selectionEnd=textField.selectionEnd; 
if(selectionStart != undefined && selectionEnd != undefined){ 
selectedText=textField.value.substring(selectionStart,selectionEnd); 
} 
if(selectedText==""){ 
alert("请选择需要添加链接的文字!"); 
return; 
} 
var hyperlinks=prompt("超链接地址:",""); 
if(hyperlinks!=null){ 
var replaceString="<a href='"+hyperlinks+"' target='_blank'><b><u><font color='#686600'>" + selectedText + "</font></u></b></a>"; 
tmpStr=textField.value; 
textField.value=tmpStr.substring(0,selectionStart)+replaceString+tmpStr.substring(selectionEnd,tmpStr.length); 
} 
} 
else if((document.selection)&&(document.selection.type == "Text")){//IE中不需要ID 
var range=document.selection.createRange(); 
var formerElement=range.parentElement(); 
if(formerElement.tagName!="TEXTAREA"){ 
alert("请在指定位置选择需要添加超链接的文字!"); 
return; 
} 
selectedText=range.text; 
var hyperlinks=prompt("超链接地址:",""); 
if(hyperlinks!=null){ 
range.text="<a href='"+hyperlinks+"' target='_blank'><b><u><font color='#686600'>" + selectedText + "</font></u></b></a>"; 
} 
} 
else{ 
alert("请选择需要添加链接的文字!"); 
return; 
} 
}
Javascript 相关文章推荐
iframe 异步加载技术及性能分析
Jul 19 Javascript
使用Post提交时须将空格转换成加号的解释
Jan 14 Javascript
js中opener与parent的区别详细解析
Jan 14 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
js 概率计算(简单版)
Sep 12 Javascript
Bootstrap图片轮播效果详解
Oct 17 Javascript
详解Vue快速零配置的打包工具——parcel
Jan 16 Javascript
JavaScript闭包原理与用法实例分析
Aug 10 Javascript
node.js使用fs读取文件出错的解决方案
Oct 23 Javascript
js+html实现点名系统功能
Nov 05 Javascript
vue视频播放插件vue-video-player的具体使用方法
Nov 08 Javascript
jquery分页插件jpaginate在IE中不兼容问题
Apr 22 #Javascript
jquery防止重复执行动画避免页面混乱
Apr 22 #Javascript
Area 区域实现post提交数据的js写法
Apr 22 #Javascript
div失去焦点事件实现思路
Apr 22 #Javascript
js隐式全局变量造成的bug示例代码
Apr 22 #Javascript
JavaScript实现的图像模糊算法代码分享
Apr 22 #Javascript
JavaScript闭包实例讲解
Apr 22 #Javascript
You might like
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
php escape URL编码
2008/12/10 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
Pyinstaller将py打包成exe的实例
2018/03/31 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
2019/08/07 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
质检部岗位职责
2013/11/11 职场文书
力学专业毕业生自荐信
2013/11/17 职场文书
给民警的表扬信
2014/01/08 职场文书
学校大课间活动方案
2014/01/30 职场文书
产品质量承诺书范文
2014/03/27 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
详解Python牛顿插值法
2021/05/11 Python
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL
使用Ajax实现无刷新上传文件
2022/04/12 Javascript