使用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 相关文章推荐
javascript 打开页面window.location和window.open的区别
Mar 17 Javascript
通过js来制作复选框的全选和不选效果
May 22 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
Sep 17 Javascript
JavaScript对象参数的引用传递
Jan 14 Javascript
javascript实现复选框全选或反选
Feb 04 Javascript
footer定位页面底部(代码分享)
Mar 07 Javascript
JS改变页面颜色源码分享
Feb 24 Javascript
mpvue将vue项目转换为小程序
Sep 30 Javascript
Angular使用Restful的增删改
Dec 28 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 Javascript
vue中v-model对select的绑定操作
Aug 31 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静态调用非静态方法的应用分析
2013/05/02 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
php实现小程序支付完整版
2018/10/09 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
使用Dropzone.js上传的示例代码
2017/10/10 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
python实现计算资源图标crc值的方法
2014/10/05 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Python正则表达式如何匹配中文
2020/05/27 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
军训的自我鉴定
2013/12/10 职场文书
幼儿园运动会加油词
2014/02/14 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js