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 相关文章推荐
JavaScript 通过模式匹配实现重载
Aug 12 Javascript
JavaScrip单线程引擎工作原理分析
Sep 04 Javascript
js简易namespace管理器 实例代码
Jun 21 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
JavaScript基础知识点归纳(推荐)
Jul 09 Javascript
JavaScript中this的四个绑定规则总结
Sep 26 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
Aug 16 Javascript
Node.js readline模块与util模块的使用
Mar 01 Javascript
layui table设置前台过滤转义等方法
Aug 17 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
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
安装APACHE
2007/01/15 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
js切换光标示例代码
2013/10/10 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
js实现数组转换成json
2015/06/26 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python 类的继承实例详解
2017/03/25 Python
多个应用共存的Django配置方法
2018/05/30 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
智能电子应届生求职信
2013/11/10 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android