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

 更新时间:2011年08月28日 17:53:28   作者:  
当鼠标选择一段文字时,对这个事件产生响应,并且将选中的文字传递出去。
本人不怎么会写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利用Immerjs实现不可变数据

    JavaScript利用Immerjs实现不可变数据

    Immerjs 是一个用于管理 JavaScript 不可变数据结构的库,它可以帮助我们更轻松地处理状态的变化,并减少冗余代码。本文就来带大家揭秘如何利用Immerjs实现不可变数据,感兴趣的可以了解一下
    2023-04-04
  • Bootstrap基本样式学习笔记之表单(3)

    Bootstrap基本样式学习笔记之表单(3)

    这篇文章主要介绍了Bootstrap学习笔记之表单基本样式的相关资料,为大家分享了三种表单样式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Bootstarp在pycharm中的安装及简单的使用方法

    Bootstarp在pycharm中的安装及简单的使用方法

    这篇文章主要介绍了Bootstarp在pycharm中的安装及简单的使用方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • JS常用的4种截取字符串方法

    JS常用的4种截取字符串方法

    在做项目的时候,经常会需要截取字符串,所以常用的方法有slice()、substr()、substring()、match()方法等,下面通过示例代码介绍四个方法的使用,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • 使用Bootstrap typeahead插件实现搜索框自动补全的方法

    使用Bootstrap typeahead插件实现搜索框自动补全的方法

    这篇文章主要介绍了使用Bootstrap typeahead插件实现搜索框自动补全的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 基于JS实现点击图片在弹出层显示大图效果

    基于JS实现点击图片在弹出层显示大图效果

    Javascript是个好东西。Jquery是基于这个好东西的一个强大的库。本文将利用JavaScript实现点击图片在弹出层显示大图功能,感兴趣的可以了解一下
    2022-08-08
  • JavaScript中实现数组分组功能的方法详解

    JavaScript中实现数组分组功能的方法详解

    最近,JavaScript引入了一个备受期待的功能:原生支持数组分组,这一特性使得在处理复杂的数据集时变得更加简单和高效,本文将深入探讨这一全新的JavaScript特性,希望对大家有所帮助
    2023-12-12
  • WebRTC媒体权限申请getUserMedia实例详解

    WebRTC媒体权限申请getUserMedia实例详解

    这篇文章主要为大家介绍了WebRTC媒体权限申请getUserMedia实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • JS支付页面倒计时的实现示例

    JS支付页面倒计时的实现示例

    本文主要介绍了JS支付页面倒计时的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • Javascript中数组方法汇总(推荐)

    Javascript中数组方法汇总(推荐)

    这篇文章主要介绍了Javascript中数组方法汇总(推荐),需要的朋友可以参考下
    2015-04-04

最新评论