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

本人不怎么会写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;
}
}

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

原作者已不可考。。。

(0)

相关推荐

  • js实现文字选中分享功能

    总结:文字选中IE和其他浏览器不一样 在IE中文字选中后鼠标抬起,图片显现触发有点快所以用定时器. <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title></title> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min

  • extJs 文本框后面加上说明文字+下拉列表选中值后触发事件

    复制代码 代码如下: var showForm; function panelShowForm() { showForm=null; showForm = new Ext.FormPanel({ renderTo:"showPanel", region:'north', border:false, bodyBorder:false, frame:true, waitMsgTarget: true, labelAlign:'right', id:"showForm",

  • js实现选中页面文字将其分享到新浪微博

    一.功能简述 正是微博如火如荼的时节,其中各个微博的分享功能是网站推广产品的好东东啊,此时如何方便快捷的使用微博的分享功能就显得比较重要了.我的站点每篇文章的底部有一些分享的链接: 不过我觉得这些分享基本上就是聋子的耳朵--摆设.除非这篇文章惊天地.泣鬼神,痛彻心扉,穿越前世今生.但是,如果有更加方便快捷的分享方式,这种冷淡得让人结冰的场面或许就不会经常出现. 一般翻译软件都有划词翻译功能,例如有道桌面词典的桌面划词翻译功能: 启用后,随便选中那个软件的一段文字,就会出现类似这样子的浮动提示框:

  • Js 载入时选中文字的实现代码

    window.onload = function(){ var form = document.getElementsByTagName('form')[0]; form.yourForm.focus(); form.yourForm.select(); } 豪情提示:这里是测试文本,初始时会被选中滴~!! [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • js禁止document element对象选中文本实现代码

    复制代码 代码如下: // 参数 obj: 要禁止选中文本的元素的jquery对象 // 参数 enabled: true, 可选中; false, 不可选中 function setSelectable(obj, enabled) { if(enabled) { obj.removeAttr("unselectable").removeAttr("onselectstart").css("-moz-user-select", "&qu

  • JS Range HTML文档/文字内容选中、库及应用介绍

    一.前面的些话 本文的内容基本上是基于"区域范围对象(Range objects)"这个概念来说的.这个玩意,可以让你选择HTML文档的任意部分,并可以拿这些选择的信息做你想做的事情.其中,最常见的Range是用户用鼠标选择的内容(user selection). 本文有不少篇幅就是讲如何将用户的这种选择转换为W3C Range或Microsoft Text Range对象. 二.什么是Range? 所谓"Range",是指HTML文档中任意一段内容.一个Range

  • JS实现根据当前文字选择返回被选中的文字

    复制代码 代码如下: <script> function doit(){ newT=document.selection.createRange() clipboardData.setData("Text",newT.text) if(clipboardData.getData("Text")!=null){ document.all.pp.value=clipboardData.getData("Text") } } </sc

  • JS获取鼠标选中的文字

    js获取鼠标选中的文字代码如下所示: <html> <head> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>js获取鼠标选中的文字</title> <SCRIPT LANGUAGE="JavaScript"> <!-- functi

  • js实现选中复选框文字变色的方法

    本文实例讲述了js实现选中复选框文字变色的方法.分享给大家供大家参考.具体如下: 这里实现选中复选框时,文字加上一个背景色,变通一下,还是很有用的. 运行效果如下图所示: 在线演示地址如下: http://demo.jb51.net/js/2015/js-checkbox-cha-font-color-codes/ 具体代码如下: <html> <head> <title>选中复选框文字变色</title> <style> .checkbox {

  • 得到文本框选中的文字,动态插入文字的js代码

    复制代码 代码如下: <script language="javascript" src="js/settags.js"></script>  function AppTag(tagcode)  {   document.PostMessage.Message.value += tagcode;  } function InsertTag(tagbegin,tagend)  {   if ((document.selection)&&

  • js鼠标移动时禁止选中文字

    这是通过CSS样式来实现的禁止用鼠标选择功能: unselectable为IE准备 onselectstart为Chrome.Safari准备 -moz-user-select是FF的 css style:html,body{-moz-user-select: none; -khtml-user-select: none; user-select: none;} 或 <div unselectable="on" onselectstart="return false;&

随机推荐