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 相关文章推荐
javaScript checkbox 全选/反选及批量删除
Apr 28 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
Mar 10 Javascript
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
jquery实现左右滑动菜单效果代码
Aug 27 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
浅谈JavaScript中小数和大整数的精度丢失
May 31 Javascript
js完整倒计时代码分享
Sep 18 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
Oct 10 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
Dec 23 Javascript
vue 组件使用中的一些细节点
Apr 25 Javascript
JS实现放烟花效果
Mar 10 Javascript
关于Javascript闭包与应用的详解
Apr 22 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
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
全面了解javascript中的错误处理机制
2016/07/18 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
介绍Python中内置的itertools模块
2015/04/29 Python
简单理解Python中的装饰器
2015/07/31 Python
Python实例一个类背后发生了什么
2016/02/09 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Django实现单用户登录的方法示例
2019/03/28 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
自我评价个人范文
2013/12/16 职场文书
高考标语大全
2014/06/05 职场文书
市场调查策划方案
2014/06/10 职场文书
Python实现byte转integer
2021/06/03 Python
MySQL如何使备份得数据保持一致
2022/05/02 MySQL