使用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 相关文章推荐
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 Javascript
jQuery动画与特效详解
Feb 01 Javascript
png在IE6 下无法透明的解决方法汇总
May 21 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
Web前端框架bootstrap实战【第一次接触使用】
Dec 28 Javascript
Angular JS 生成动态二维码的方法
Feb 23 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
小程序分享模块超级详解(推荐)
Apr 10 Javascript
JS字符串常用操作方法实例小结
Jun 24 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
Oct 23 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
2021年最新CPU天梯图
2021/03/04 数码科技
领悟php接口中interface存在的意义
2013/06/27 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
20招让你的Python飞起来!
2016/09/27 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
Django Celery异步任务队列的实现
2019/07/24 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
python将音频进行变速的操作方法
2020/04/08 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
铣床操作工岗位职责
2014/06/13 职场文书
趣味运动会开幕词
2015/01/28 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
2015双创工作总结
2015/07/24 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL