使用js复制链接中的部分文字的方法


Posted in Javascript onJuly 30, 2015

网页上面的链接一般鼠标放上去就是一个手指的形状,导致不能拖动鼠标进行复制,下面这段JS就是让你能够实现复制的,将这段代码保存成chrome的书签,需要复制的时候点击这个书签,然后按着ctrl键,就可以复制链接上面的文字了

复制链接中的部分文字的实现代码如下:

javascript: (function() {
  var h, checked = true,
  down = false;
  document.addEventListener('mouseover',
  function(e) {
    var link, c = '',
    target = e.target;
    if (target.nodeName == 'A') {
      if (target.hasChildNodes) {
        for (var i = 0; i < target.childNodes.length; i++) {
          if (target.childNodes[i].nodeName == 'INPUT') return;
        }
      }
      link = target;
    }
    if (target.parentNode.nodeName == 'A' && target.nodeName != 'IMG' && target.nodeName != 'INPUT') {
      link = target.parentNode;
    }
    if (!link) return;
    if (checked) {
      h = link.href;
      if (link.style.cssText) c = link.style.cssText;
    }
    function _click(e) {
      link.removeEventListener(e.type, arguments.callee, false);
      e.preventDefault();
    }
    function _keydown(e) {
      var k = parseInt(e.keyCode);
      if (k < 48 && k != 17) return;
      document.removeEventListener(e.type, arguments.callee, false);
      down = true;
      link.removeAttribute('href');
      link.setAttribute('style', c + 'cursor:text!important;');
      link.addEventListener('click', _click, false);
    }
    document.addEventListener('keydown', _keydown, false);
    link.addEventListener('mouseout',
    function(e) {
      var k = link.compareDocumentPosition(e.relatedTarget);
      if (k == 20 || k == 0) {
        checked = false;
      } else {
        link.removeEventListener(e.type, arguments.callee, false);
        link.removeEventListener('click', _click, false);
        document.removeEventListener('keydown', _keydown, false);
        checked = true;
        if (down) {
          down = false;
          link.setAttribute('href', h);
          if (c == '') {
            link.removeAttribute('style');
          } else {
            link.setAttribute('style', c);
          }
        }
      }
    },
    false);
  },
  false);
})();

以上就是复制链接中的部分文字的实现代码,希望大家可以喜欢。

Javascript 相关文章推荐
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 Javascript
一个轻量级的javascript库 pj介绍
Dec 19 Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 Javascript
javascript 动态创建表格的2种方法总结
Mar 04 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
jQuery实现大图轮播
Feb 13 Javascript
Node.js 实现简单的接口服务器的实例代码
May 23 Javascript
angular使用bootstrap方法手动启动的实例代码
Jul 18 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
js中数组对象去重的两种方法
Jan 18 Javascript
微信小程序template模版的使用方法
Apr 13 Javascript
.netcore+vue 实现压缩文件下载功能
Sep 24 Javascript
JS如何实现文本框随文本的长度而增长
Jul 30 #Javascript
js代码实现随机颜色的小方块
Jul 30 #Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 #Javascript
javascript设计模式之对象工厂函数与构造函数详解
Jul 30 #Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 #Javascript
javascript中if和switch,==和===详解
Jul 30 #Javascript
用javascript实现自动输出网页文本
Jul 30 #Javascript
You might like
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
PHP下几种删除目录的方法总结
2007/08/19 PHP
php图片处理函数获取类型及扩展名实例
2014/11/19 PHP
php去掉文件前几行的方法
2015/07/29 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
2009/09/09 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
javascript实现连续赋值
2015/08/10 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python中is与==判断的区别
2017/03/28 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
详解Python中import机制
2020/09/11 Python
一套Java笔试题
2016/08/20 面试题
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
春节慰问信范文
2015/02/15 职场文书
费用申请报告范文
2015/05/15 职场文书
金砖之国观后感
2015/06/11 职场文书
队列队形口号
2015/12/25 职场文书
用python实现监控视频人数统计
2021/05/21 Python
Python实现排序方法常见的四种
2021/07/15 Python