使用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 相关文章推荐
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
table对象中的insertRow与deleteRow使用示例
Jan 26 Javascript
再探JavaScript作用域
Sep 24 Javascript
DOM基础教程之使用DOM
Jan 19 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
js完美解决IE6不支持position:fixed的bug
Apr 24 Javascript
javascript事件冒泡实例分析
May 13 Javascript
JSONObject使用方法详解
Dec 17 Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
Jan 05 Javascript
微信小程序之小豆瓣图书实例
Nov 30 Javascript
vue弹窗组件的实现示例代码
Sep 10 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动态图像的创建
2006/10/09 PHP
php网页后退不再出现过期
2007/03/08 PHP
QueryPath PHP 中的jQuery
2010/04/11 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
destoon复制新模块的方法
2014/06/21 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
基于Django实现日志记录报错信息
2019/12/17 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
如何保障Web服务器安全
2014/05/05 面试题
工程管理专业个人求职信范文
2013/12/07 职场文书
快餐公司创业计划书
2014/04/29 职场文书
党支部承诺书
2015/01/20 职场文书
文案策划岗位职责
2015/02/11 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书