博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论思维变通的重要性!--input输入框禁止编辑,且 右键弹出窗口复制
阅读量:6435 次
发布时间:2019-06-23

本文共 1235 字,大约阅读时间需要 4 分钟。

我们知道 web复制 chrome给我们提供了

document.execCommand("Copy","false",null); 可以把选中的内容放到剪切板里 所以 面对题目的需求 我们 实现只需要以下步骤 //1禁止编辑
$('#actives-select-w').on('keydown', function (e) {
e.preventDefault(); }) 上面有问题, 可以给input加上 readonly 属性 //2 右键全选(注意此处是input的全选)
function documentSelectElement(element) {
element.focus(); element.select(); } //3 执行复制
document.execCommand("Copy","false",null); //4。。。然鹅 并没有什么乱用,   经过测试发现 复制命令只针对于input类的输入框无效 //下面请允许插播一下楼主当时的心情 不可能啊?为啥不行呢?我在其他几个页面都可以啊,为啥唯独这个页面不行,而且就一条命令 也不存在写错啊。 我也全选中了啊,为啥ctrl c 就行呢。(当然如果禁止了input的 keydown 事件  Ctrl c 也 狗带了) 最终,楼主只好极不情愿的承认了:好吧 看来这条命令在这里确实无效, 可是 需求还要实现啊,最终机智的我终于不再牛角尖了,下面是解决办法 (思路,既然input不能复制,其他标签可以复制,那我就做一个标签隐藏掉,然后把input的val值拿出来放到隐藏节点 然后在执行复制命令不就好了吗) // 1 2 同上 //其余 见如下代码
let txt = $('#actives-select-w').val();            $('.for-copy-path').html(txt);//全选            documentSelectElement2($('.for-copy-path')[0])            document.execCommand("Copy","false",null);//普通节点的全选function documentSelectElement2(element) {        var sel = window.getSelection();        var range = document.createRange();        range.selectNode(element);        sel.removeAllRanges();        sel.addRange(range);    }
 

转载于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/7018601.html

你可能感兴趣的文章
超大规模数据中心:给我一个用整机柜的理由先
查看>>
执行命令取出linux中eth0的IP地址
查看>>
CRUD全栈式编程架构之控制器的设计
查看>>
python常用内建模块(五)
查看>>
你为什么有那么多时间写博客?
查看>>
Excel 中使用VBA
查看>>
$.ajax同步请求会阻塞js进程
查看>>
Postman 网络调试工具
查看>>
Python教程6
查看>>
zabbix实现自动发现功能添加磁盘监控
查看>>
mysql8.0.14 安装
查看>>
1039. 到底买不买(20)
查看>>
android笔试题一
查看>>
【JavaEE企业应用实战学习记录】getConnListener
查看>>
了解轮询、长轮询、长连接、websocket
查看>>
bzoj2427[HAOI2010]软件安装
查看>>
WPF个人助手更新
查看>>
NLPIR技术助力中文智能数据挖掘
查看>>
python操作redis--------------数据库增删改查
查看>>
Android中仿IOS提示框的实现
查看>>