js实现文字选中分享功能


Posted in Javascript onJanuary 25, 2017

总结:文字选中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.js"></script>
<style type="text/css">
*{padding: 0;margin: 0;}
#p1{width: 300px;}
#div1{display: none;position: absolute;}
img{width:26px;height:26px;}
</style>
</head>
<body>
<p id="p1">
 文字的选中功能是不太常用的功能,多出现在文本编辑器中,或是文本域之类的光标处理上。所以呢,使用的一些属性也并不是常见的。在IE浏览器下使用的是createTextRange而Firefox/chrome等现代浏览器下使用的是setSelectionRange。
</p>
<div id='div1'><img src='http://cdn.attach.qdfuns.com/notes/pics/201701/23/221744ud9ggjjjgg85e90m.gif.editor.gif'></div>
<script type="text/javascript">
function selectText(){
 if(document.selection){
 //IE
 return document.selection.createRange().text
 }else{
 //ff chrom
 return window.getSelection().toString()
 }
}
var oP=document.getElementById('p1')
var oDiv=document.getElementById('div1')
oP.onmouseup=function(ev){
 var ev=ev||event
 var left=ev.clientX
 var top=ev.clientY
 if(selectText().length>10){
 setTimeout(function(){
 oDiv.style.display='block';
 oDiv.style.left=left+'px'
 oDiv.style.top=top+'px'
 },100)
 }else{
 oDiv.style.display='none';
 }
}
//点击oP阻止冒泡到document上
oP.onclick=function(ev){
 var ev=ev||window.event
 ev.cancelBubble=true
}
document.onclick=function(){
 oDiv.style.display='none';
}
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript中__proto__与prototype的关系深入理解
Dec 04 Javascript
在图片上显示左右箭头类似翻页的代码
Mar 04 Javascript
JavaScript限定图片显示大小的方法
Mar 11 Javascript
jQuery选择器用法实例详解
Dec 17 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
使用vue实现点击按钮滑出面板的实现代码
Jan 10 Javascript
简单实现js选项卡切换效果
Feb 09 Javascript
javascript 中事件冒泡和事件捕获机制的详解
Sep 01 Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 Javascript
详解VueJs中的V-bind指令
May 03 Javascript
简述vue状态管理模式之vuex
Aug 29 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
Nov 20 Javascript
利用Js+Css实现折纸动态导航效果实例源码
Jan 25 #Javascript
jquery实现拖动效果(代码分享)
Jan 25 #Javascript
angular forEach方法遍历源码解读
Jan 25 #Javascript
three.js实现围绕某物体旋转
Jan 25 #Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 #Javascript
angular和BootStrap3实现购物车功能
Jan 25 #Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 #Javascript
You might like
使用dump函数,给php加断点测试
2013/06/25 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
介绍Python中内置的itertools模块
2015/04/29 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
蔬菜基地的创业计划书
2014/01/06 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
供应链金融服务方案
2014/05/25 职场文书
项目申请汇报材料
2014/08/16 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
顶岗实习协议书
2015/01/29 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
公司晚会主持词
2019/04/17 职场文书
python实战之90行代码写个猜数字游戏
2021/04/22 Python
nginx+lua单机上万并发的实现
2021/05/31 Servers
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
python语言中pandas字符串分割str.split()函数
2022/08/05 Python
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python