使用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 联动日历实现代码
May 31 Javascript
JavaScript与DOM组合动态创建表格实例
Dec 23 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
Jan 04 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
Oct 20 Javascript
webstorm添加vue.js支持的方法教程
Jul 05 Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
Apr 24 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
Vue中使用better-scroll实现轮播图组件
Mar 07 Javascript
Vue使用预渲染代替SSR的方法
Jul 02 Javascript
详解vue中v-on事件监听指令的基本用法
Jul 22 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代码优化及php相关问题总结
2006/10/09 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
JavaScript函数详解
2015/02/27 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
详解js 创建对象的几种方法
2019/03/08 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python自动发邮件脚本
2017/03/31 Python
OpenCV 模板匹配
2019/07/10 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
Python Http请求json解析库用法解析
2020/11/28 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
校庆团日活动总结
2014/08/28 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
高中生旷课检讨书
2014/10/08 职场文书
计算机实训报告总结
2014/11/05 职场文书
党员示范岗材料
2014/12/19 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
爱护公物主题班会
2015/08/17 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python