使用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 相关文章推荐
JS 获取span标签中的值的代码 支持ie与firefox
Aug 24 Javascript
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
JS 树形递归实例代码
May 18 Javascript
5个最佳的Javascript日期处理类库分享
Apr 15 Javascript
javascript时区函数介绍
Sep 14 Javascript
JS中Iframe之间传值的方法
Mar 11 Javascript
整理关于Bootstrap过渡动画的慕课笔记
Mar 29 Javascript
Zepto实现密码的隐藏/显示
Apr 07 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 Javascript
vue-cli中vue本地实现跨域调试接口
Jan 16 Javascript
vue prop传值类型检验方式
Jul 30 Javascript
解决vue项目axios每次请求session不一致的问题
Oct 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 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
PHP反射基础知识回顾
2020/09/10 PHP
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
python特性语法之遍历、公共方法、引用
2018/08/08 Python
python3实现点餐系统
2019/01/24 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
基于Python测试程序是否有错误
2020/05/16 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
一套比较完整的软件测试人员面试题
2012/05/13 面试题
大学生实习证明范本
2014/01/15 职场文书
婚前财产公证书
2014/04/10 职场文书
企业安全标语
2014/06/07 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
基层党员对照检查材料
2014/08/25 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
Java后台生成图片的完整步骤
2021/08/04 Java/Android