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实现弹出窗口、页面变成灰色并不可操作的例子分享
May 10 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
Mar 14 Javascript
js+canvas绘制矩形的方法
Jan 28 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
Apr 05 Javascript
vue.js $refs和$emit 父子组件交互的方法
Dec 20 Javascript
vue中本地静态图片路径写法
Mar 06 Javascript
vue异步加载高德地图的实现
Jun 19 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
浅析js实现网页截图的两种方式
Nov 01 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
Feb 26 Javascript
微信小程序中的上拉、下拉菜单功能
Mar 13 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
世界收音机发展史
2021/03/01 无线电
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP下载远程文件到本地存储的方法
2015/03/24 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
解释&&和||在javascript中的另类用法
2014/07/28 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
[01:30:55]VG vs Mineski Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python将图片转换为字符画的方法
2020/06/16 Python
对Python函数设计规范详解
2019/07/19 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
校本教研工作方案
2014/01/14 职场文书
趣味游戏活动方案
2014/02/07 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
《太阳》教学反思
2014/02/21 职场文书
大学毕业感言200字
2014/03/09 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
武当山导游词
2015/02/03 职场文书
导游词之镇江焦山
2019/11/21 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python