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 相关文章推荐
chrome原生方法之数组
Nov 30 Javascript
浏览器缩放检测的js代码
Sep 28 Javascript
jQuery遍历json中多个map的方法
Feb 12 Javascript
jQuery 3.0 的变化及使用方法
Feb 01 Javascript
JavaScript重载函数实例剖析
May 13 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
Nov 30 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
Jun 23 Javascript
基于JS脚本语言的基础语法详解
Jul 22 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
Nov 24 Javascript
js实现上传图片到服务器
Apr 11 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
Ajax PHP分页演示
2007/01/02 PHP
How do I change MySQL timezone?
2008/03/26 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php实现encode64编码类实例
2015/03/24 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
python中self原理实例分析
2015/04/30 Python
Python中正则表达式详解
2017/05/17 Python
Python实现k-means算法
2018/02/23 Python
python:接口间数据传递与调用方法
2018/12/17 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
wxPython实现带颜色的进度条
2019/11/19 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
大学活动邀请函
2014/01/28 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
个人年终总结开头
2015/03/06 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
给numpy.array增加维度的超简单方法
2021/06/02 Python