资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

复制javascript,复制JavaScript

javascript做复制按钮怎么才能复制各自对应得内容

第一步,把html中的所有copyTXT()改为copyTXT(this)

为孝义等地区用户提供了全套网页设计制作服务,及孝义网站建设行业解决方案。主营业务为成都做网站、成都网站制作、孝义网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

第二步,把js中的copyTXT()改为copyTXT(e)

第三步,把var copyDOM = document.querySelector(".copy");改为

var copyDOM = e.parentNode.querySelector(".copy");

如何利用JS实现复制/粘贴功能

1、最基本的复制

Java代码

script language="JavaScript"

function readTxt()

{

alert(window.clipboardData.getData("text"));

}

function setTxt()

{

var t=document.getElementById("txt");

t.select();

window.clipboardData.setData('text',t.createTextRange().text);

}

/script

input name="txt" value="测试"

input type="button" value="复制" onclick="setTxt()"

input type="button" value="读取" onclick="readTxt()"

2、扩展复制:复制表格

Java代码

INPUT TYPE="button" value="选中测试表格" onclick="CopyTable()"

测试

TABLE border="1" id="oTable"

TR

TD测试表格/TD

TD测试表格/TD

/TR

TR

TD测试表格/TD

TD测试表格/TD

/TR

/TABLE文字

SCRIPT LANGUAGE="JavaScript"

!--

function CopyTable()

{

var txt = document.body.createTextRange();

txt.moveToElementText(document.getElementById('oTable'));

txt.select();

}

//--

/SCRIPT

、兼容IE,firefox等浏览器的复制

Java代码

script

function copyToClipboard(txt) {

if(window.clipboardData) {

window.clipboardData.clearData();

window.clipboardData.setData("Text", txt);

} else if(navigator.userAgent.indexOf("Opera") != -1) {

window.location = txt;

} else if (window.netscape) {

try {

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

} catch (e) {

alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");

}

var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);

if (!clip)

return;

var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);

if (!trans)

return;

trans.addDataFlavor('text/unicode');

var str = new Object();

var len = new Object();

var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);

var copytext = txt;

str.data = copytext;

trans.setTransferData("text/unicode",str,copytext.length*2);

var clipid = Components.interfaces.nsIClipboard;

if (!clip)

return false;

clip.setData(trans,null,clipid.kGlobalClipboard);

}

}

/script

button onclick="copyToClipboard('你好!');"复制文本“你好!”/button

textarea id="test"/textarea

JavaScript中concat复制数组方法浅析

我们在需要进行数组复制的时候可能会想到以下的方法

代码

var

arr1

=

[1,2,3,4,5];

var

arr2

=

[];

arr2

=

arr1;

console.log(arr1);

console.log(arr2);

执行结果如下:

[1,

2,

3,

4,

5]

[1,

2,

3,

4,

5]

在这个例子中,将数组arr1赋值给了另一个数组arr2。

查看执行结果,似乎复制了数组的内容并创建了相同的数组。

但是,由于数组是“引用类型”的数据,因此它不会复制该值,而只是共享存储该值的内存的位置。

因此,我们编写以下代码

arr2.push(6);

console.log(arr1);

console.log(arr2);

执行结果如下

[1,

2,

3,

4,

5,

6]

[1,

2,

3,

4,

5,

6]

根据以上结果可以发现即使我们只给arr2添加新值6,但是数组arr1中也会添加一个6,这就是因为两个

数组都只引用存储值的位置,如果更改任一数组中的数据,两者都会改变。

所以下面我们就来使用concat方法复制数组

我们来看具体示例

var

arr1

=

[1,2,3,4,5];

var

arr2

=

[];

arr2

=

arr1.concat();

arr2.push(6);

console.log(arr1);

console.log(arr2);

执行结果如下

[1,

2,

3,

4,

5]

[1,

2,

3,

4,

5,

6]

要将另一个数组复制到数组arr2,只需要在复制源arr1中执行concat()即可。

您可能感兴趣的文章:js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解深入理解javascript中concat方法javascript使用

concat

方法对数组进行合并的方法JS

Array创建及concat()split()slice()的使用方法浅谈JavaScript的push(),pop(),concat()方法JavaScript模拟数组合并concatjs采用concat和sort将N个数组拼接起来的方法

JavaScript如何点击实现复制文字到剪切板

可以使用clipboard插件解决这个问题。

github里直接搜索clipboard就可以找到了。

该插件并不依赖jquery。直接引入即可使用。

使用方法:

input id="foo" value="被复制的内容"

button class="btn" data-clipboard-target="#foo"点击复制/button

new Clipboard('.btn');

这里的.btn是元素的class属性,可以使用任意id或者class以及元素节点名称来实例化插件。

默认会为元素绑定click事件,点击的时候会触发。

data-clipboard-target参数指定被复制内容的元素。

如上例,点击按钮后会将input的值“被复制的内容”几个字复制到剪切板中。

更多使用方法可以自行github查询。


分享标题:复制javascript,复制JavaScript
URL链接:http://cdkjz.cn/article/dsddosj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220