JavaScript 选中文字并响应获取的实现代码


Posted in Javascript onAugust 28, 2011

本人不怎么会写JS,但是会搜索,这里找到了些别人写好的东西:

select(document, tanchu); 
/*=select[[ 
* 
* 跨浏览器选中文字事件 
* @param 
* object o 响应选中事件的DOM对象,required 
* function fn(sText,target,mouseP)选中文字非空时的回调函数,required 
* |-@param 
* |-sText 选中的文字内容 
* |-target 触发mouseup事件的元素 
* |-mouseP 触发mouseup事件时鼠标坐标 
*/ 
function select(o, fn){ 
o.onmouseup = function(e){ 
var event = window.event || e; 
var target = event.srcElement ? event.srcElement : event.target; 
if (/input|textarea/i.test(target.tagName) && /firefox/i.test(navigator.userAgent)) { 
//Firefox在文本框内选择文字 
var staIndex=target.selectionStart; 
var endIndex=target.selectionEnd; 
if(staIndex!=endIndex){ 
var sText=target.value.substring(staIndex,endIndex); 
fn(sText,target); 
} 
} 
else{ 
//获取选中文字 
var sText = document.selection == undefined ? document.getSelection().toString():document.selection.createRange().text; 
if (sText != "") { 
//将参数传入回调函数fn 
fn(sText, target); 
} 
} 
} 
} 
/*]]select=*/ 
function tanchu(txt,tar){ 
alert("文字属于"+tar.tagName+"元素,选中内容为:"+txt); 
}

 原作者见:http://momomolice.com/wordpress/archives/420.html

附:只获得选取的文字的代码(不响应该事件)

function getSelectedText() 
{ 
if (window.getSelection) 
{ // This technique is the most likely to be standardized. 
// getSelection() returns a Selection object, which we do not document. 
return window.getSelection().toString(); 
} 
else if (document.getSelection) 
{ 
// This is an older, simpler technique that returns a string 
return document.getSelection(); 
} 
else if (document.selection) 
{ 
// This is the IE-specific technique. 
// We do not document the IE selection property or TextRange objects. 
return document.selection.createRange().text; 
} 
}

函数运行后会将选取的文字返回出来。

原作者已不可考。。。

Javascript 相关文章推荐
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
Oct 31 Javascript
jquery easyui使用心得
Jul 07 Javascript
JavaScript 数组- Array的方法总结(推荐)
Jul 21 Javascript
Vue.js学习之计算属性
Jan 22 Javascript
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
Vue.js实现输入框绑定的实例代码
Aug 24 Javascript
vue.js整合mint-ui里的轮播图实例代码
Dec 27 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
vue实现分页的三种效果
Jun 23 Javascript
JavaScript前端面试组合函数
Jun 21 Javascript
js预载入和JavaScript Image()对象使用介绍
Aug 28 #Javascript
jquery 查找iframe父级页面元素的实现代码
Aug 28 #Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
Aug 28 #Javascript
一个JQuery写的点击上下滚动的小例子
Aug 27 #Javascript
JavaScript 原型继承之构造函数继承
Aug 26 #Javascript
JavaScript原型继承之基础机制分析
Aug 26 #Javascript
自己动手开发jQuery插件教程
Aug 25 #Javascript
You might like
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP速成大法
2015/01/30 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
SVG描边动画
2017/02/23 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Django实现图片文字同时提交的方法
2015/05/26 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
python 实现控制鼠标键盘
2020/11/27 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
国际商务专业学生个人的自我评价
2013/09/28 职场文书
保送生自荐信范文
2013/10/06 职场文书
退休感言
2014/01/28 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
初中生毕业评语
2014/12/29 职场文书
北大自主招生自荐信
2015/03/04 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL