关于div可编辑的复制粘贴问题

 1  todoFilter(e) {
 2                 e.preventDefault();
 3                 if (!e.target.getAttribute('contenteditable')) {
 4                     return;
 5                 }
 6                 const cpTxt = e
 7                     .clipboardData
 8                     .getData('text');
 9     
10                 const selection = window.getSelection ? window.getSelection() : document.selection;
11                 if (!selection.rangeCount) return;
12                 const range = selection.createRange ? selection.createRange() : selection.getRangeAt(0);
13                 window._range = range;
14                 if (!window.getSelection) {
15                     range.pasteHTML(cpTxt);
16                     range.collapse(false);
17                     range.select();
18                 } else {
19                     range.collapse(false);
20                     const hasR = range.createContextualFragment(cpTxt);
21                     let hasR_lastChild = hasR.lastChild;
22                     while (hasR_lastChild && hasR_lastChild.nodeName.toLowerCase() == 'br' && hasR_lastChild.previousSibling && hasR_lastChild.previousSibling.nodeName.toLowerCase() == 'br') {
23                         var e = hasR_lastChild;
24                         hasR_lastChild = hasR_lastChild.previousSibling;
25                         hasR.removeChild(e);
26                     }
27                     range.insertNode(hasR);
28                     if (hasR_lastChild) {
29                         range.setEndAfter(hasR_lastChild);
30                         range.setStartAfter(hasR_lastChild);
31                     }
32                     selection.removeAllRanges();
33                     selection.addRange(range);
34                 }
35             },
View Code

 

转载于:https://www.cnblogs.com/huenchao/p/8253144.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS编辑器。在网页上使用CSS样式。 CSS Brush-Live CSS Editor使您的chrome浏览器成为CSS客厅,可以为您的网站设置样式。 一个强大的工具,可以实时设置您的网站样式。 出于几个原因,编写CSS文件始终是一件乏味的工作。 我们针对涉及CSS的所有开发挑战提出了非常出色的解决方案。 [注意:请在最后看到,在某些情况下CSS Brush无法使用] CSSBrush的功能:=====================#1 Live CSS Editor {网页是画布。 您使用CSS Brush所做的一切都会立即应用到您的页面上。 因此,这不是Web设计,而是Web绘画体验。 }#2文本编辑器,如界面{尽管该工具未提供完整的文本编辑器界面。 它提供了更多CSS属性,而不仅仅是文本输入。 }#3上下文相关菜单{您在键入时就会了解匹配的属性。 因此,您不必键入所有字符,只需输入b,o和enter等几个字符即可输入“ border”。 或者可能只有几个上下箭头笔触可以使您处于所需的属性。 }#4开启/关闭属性{您不必删除元素的完整CSS属性,只需将其关闭即可。 因此,您可以在属性为OFF或ON时检查元素样式}#5复制属性{您可以提供相同属性的多个实例。 喜欢,提供“颜色:红色;颜色:绿色;颜色:蓝色;” 对于一个元素。 默认情况下,仅最后一个重复条目将被打开。 但是,此功能很方便您使用,或者让您的经理选择最适合该页面的选项。 }#6排序后的属性{输入属性时,它将放置在排序后的位置。 此功能克服了由于重复属性而使开发人员面临的麻烦。 }#7使用向上/向下箭头键增加/减少数字{经常需要通过频繁更改宽度,边距,填充等属性中的数字来查看样式。使用向上和向下键可即时更改数字。 }#8具有CSS路径的元素选择器{您不必键入选择器的完整CSS路径,例如“ body table.x tr td div.a div ul li span.x”。 只需使用鼠标从页面中选择并获得完整CSS路径即可。 }#9选择器过滤器{如果您觉得选择器获得CSS路径很笨拙,则可以通过单击几下进行过滤。 就像您可以使point#7中提到CSS路径成为“ table.x div.a span.x”或仅需单击几下即可成为“ .x .a .x”。 }#10查看有效元素{将鼠标指针悬停在您组成的选择器的任何标记上,以查看受该选择器影响的所有元素,直到该标记为止。 就像在第7点提到CSS路径中一样,将鼠标指针悬停在“ tr”标记上时,您可以看到“ body table.x tr”的所有有效元素。 }#11应用选择器属性{只需单击即可添加“:hover”,“:first-child”,“:nth-​​child(10)”等属性。 就像在第8点提到CSS路径中一样,您可以将鼠标指针悬停在“ div.a”上并选择“:hover”选项,这将导致选择器显示为“ table.x div.a:hover span.x”。 }#12选择器列表{查看您创建的所有选择器的列表。 默认情况下,选择器以收缩模式列出。 您可以展开列表以查看完整列表。 }#13开启/关闭选择器{您可以在选择器列表中开启/关闭选择器,一次即可启用或禁用该选择器的所有属性,而不必开启/关闭该选择器的单个属性。 }#14克隆选择器{您可能希望复制选择器的属性,然后再次粘贴以将它们(通常进行一些小的更改)应用到其他选择器。 只需单击几下即可完成,所有这些属性都将应用于一个全新的选择器(元素集)。 }#15复制选择器{使用CTRL + C复制选择器。 我们可能已经访问了您的剪贴板以提供单击复制功能。 但是我们将无法访问您的剪贴板,因为剪贴板中可能包含敏感数据。 }#16打开/关闭mouseevents {Mouseover,mouseout,mouseenter等是一些鼠标事件,它们可能会妨碍CSS Brush的元素选择器。 我们转几下鼠标事件关闭,而选择为ON。 但是,如果要访问任何元素,则可以将它们设置为ON(仅当特定的鼠标事件为ON时才可见)。 }#17其他{选择器的名称,透明背景,颜色选择器是其他几项功能。 } / *#18将会有更多功能... * /修订摘要:================= 1.0.1:第一次升级1.0.2:错误修复-样式CSS Brush本身的版本1.0.3:Feature1-新的菜单元素{Rating,Support,Dondon}及其样式1.0.3:Feature2-带编号的单位(如px,em),使用向上/向下箭头键1.0.4进行增减:功能-选择器列表扩展/收缩功能1.0.5400:错误修复-CSS Brush本身的样式================== [注意:Google页
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值