`

javascript实现点击按钮复制指定区域文本

阅读更多

html5的webAPI接口可以很轻松的使用短短的几行代码就实现点击按钮复制区域文本的功能,不需要依赖flash。

 

/* 创建range对象   */
const range = document.createRange();
range.selectNode(element);    // 设定range包含的节点对象 

/* 窗口的selection对象,表示用户选择的文本 */
const selection = window.getSelection();
if(selection.rangeCount > 0) selection.removeAllRanges(); // 将已经包含的已选择的对象清除掉
selection.addRange(range);                                // 将要复制的区域的range对象添加到selection对象中

document.execCommand('copy'); // 执行copy命令,copy用户选择的文本

 例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<article id="article">
    <h4>公园一日游</h4>
    <time>2016.8.15 星期二</time>
    <p>今天风和日丽,我和小红去了人民公园,玩了滑梯、打雪仗、划船,真是愉快的一天啊。</p>
</article>
<button id="copy">复制文章</button>
<textarea style="width: 500px;height: 100px;" placeholder="试一试ctrl + v"></textarea>
<script>
    function copyArticle(event){
        const range = document.createRange();
        range.selectNode(document.getElementById('article'));

        const selection = window.getSelection();
        if(selection.rangeCount > 0) selection.removeAllRanges();
        selection.addRange(range);
        
        document.execCommand('copy');
    }

    document.getElementById('copy').addEventListener('click', copyArticle, false);
</script>
</body>
</html>

 

分享到:
评论

相关推荐

    JavaScript实现点击按钮复制指定区域文本(推荐)

    总结来说,JavaScript实现点击按钮复制指定区域文本的核心在于创建并操作`Range`和`Selection`对象,以及使用`document.execCommand('copy')`命令。通过理解这些概念和技术,开发者可以为网页添加便捷的复制功能,...

    点击按钮选中指定的文字区间

    综上所述,“点击按钮选中指定的文字区间”涉及了文本处理、DOM操作、JavaScript编程、事件监听、CSS样式、跨浏览器兼容性、响应式设计以及无障碍性等多个方面,这些知识点都是现代Web开发中不可或缺的部分。

    JavaScript按钮类\一个按钮完成对文本框内容的copy和复制

    &lt;title&gt;JavaScript按钮类——一个按钮完成对文本框内容的复制 &lt;script language="JavaScript"&gt; function MM_findObj(n, d) { var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) &gt; 0 && parent....

    常用的JAVASCRIPT脚本特效

    6. **可关闭的广告**:通常,广告区域会有一个“关闭”按钮,通过`&lt;a&gt;`标签和自定义函数,点击按钮时可以调用隐藏广告层的函数,实现广告的关闭效果。 7. **随页面滚动的广告**:要实现广告随页面滚动,需要计算...

    Javascript中最常用的经典技巧

    - **知识点**: 通过 JavaScript 检查当前窗口是否为顶级窗口(即是否在框架中),如果不是,则将当前页面重定向到指定的框架页面。 - **应用场景**: - 当网站设计为必须在框架结构中浏览时,确保用户无论通过何种...

    jqueryzclip

    jQuery Zclip是一款轻量级的jQuery插件,它的主要功能是通过点击按钮,帮助用户快速复制指定的文本内容到剪贴板。这个插件利用了Flash技术,因为JavaScript在浏览器的安全限制下无法直接操作剪贴板,而Flash则提供了...

    JavaScript常用50例

    3. `onpaste`, `oncopy`, `oncut` 事件:这些事件用于阻止用户在指定的输入框或区域进行剪切、复制和粘贴操作,可以防止用户恶意输入或保护数据安全。 4. `rel` 属性:`Shortcut Icon` 和 `Bookmark` 都是与浏览器...

    Javascript客户端将指定区域导出到Word、Excel的代码

    例如,通过调用`document.body.createTextRange()`方法创建一个文本范围对象,然后使用`moveToElementText()`方法移动到指定的表格区域,`select()`方法选择文本范围,并通过`execCommand("Copy")`执行复制操作。...

    javaScript示例

    3. **onSelect.html**:`onselect`事件在用户选择文本时触发,可以用来实现选中文本后的特殊效果,比如高亮或者复制功能。 4. **onChange.html**:`onchange`事件常用于表单元素,如输入框、下拉菜单等,当元素的值...

    C# 复制图片 剪切板

    剪切板是操作系统提供的一种临时存储区域,用于在应用程序之间传递数据,包括文本、图像等。在Windows系统中,我们可以使用Windows API(Application Programming Interface)来访问剪切板功能。 在C#中,`System....

    Clipboard.js 无需Flash的JavaScript复制粘贴库

    Clipboard.js的一个典型应用场景是,当用户点击一个按钮时,自动将某个文本区域的内容复制到剪贴板中。在官方示例中,有一个`&lt;textarea&gt;`元素,其中包含一些文本,以及一个按钮。当用户点击按钮时,系统会通过...

    JavaScript常用语句50条

    此语句应用于整个`&lt;body&gt;`标签,阻止用户在页面上选取文本或图像,从而防止复制内容。这对于保护版权内容特别有用,但可能会影响用户体验,因为合法的使用场景如选中文本进行翻译等也会被阻止。 ### 3. 禁止粘贴:`...

    asp.net中使用文本编辑器案例

    5. **初始化编辑器**:在页面加载完成后,通过JavaScript调用编辑器的初始化函数,指定textarea元素作为编辑区域。例如,对于FCKeditor,代码可能如下: ```javascript window.onload = function() { var ...

    JavaScript flash复制库类 Zero Clipboard

    通过设置Client对象的相关属性来指定需要复制的文本内容,并将该实例与具体的DOM元素进行绑定,以实现点击时触发复制文本到剪贴板的功能。 Zero Clipboard库不仅提供了基本的复制功能,还包含了一系列扩展功能,以...

    clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切

    此外,如果不想使用输入框或文本区域,可以直接在按钮上通过`data-clipboard-text`属性定义要复制的文本: ```html 这里是要复制的内容" aria-label="复制成功!"&gt;复制 ``` 为了处理复制操作的反馈,你可以监听`...

    如何聚焦脚本(HTML经典用例)

    紧接着的`&lt;input&gt;`元素创建了一个按钮,其`value`属性定义了按钮上显示的文字“选择”,`onClick`事件处理程序则定义了当用户点击该按钮时应执行的JavaScript代码。 `onClick`事件处理程序中的JavaScript代码分为两...

    JavaScript中一些常用的小技巧

    例如,如果你想判断是哪个类型的按钮被点击,可以检查 `event.srcElement.tagName` 是否等于 `"BUTTON"`。 2. 事件捕获与释放:`event.srcElement.setCapture()` 和 `event.srcElement.releaseCapture()` 用于控制...

    JavaScript实用的一些技巧

    "` 可以禁用剪贴板操作,不允许用户在表单或文本输入区域进行粘贴、复制和剪切。 4. `Shortcut Icon` 和 `Bookmark`:`&lt;link rel="Shortcut Icon" href="favicon.ico"&gt;` 与 `...

    在网上复制代码 前面总是带序号 这个可以去掉序号

    只需将代码粘贴到指定区域,选择相应的设置,点击处理按钮,即可得到去除序号的代码。 5. **Markdown语法处理** - 如果你是在编写Markdown文档,可以利用Markdown的代码块语法(如```),在粘贴代码时先将其包裹在...

Global site tag (gtag.js) - Google Analytics