Javascript 如何将ajax成功结果复制到clipbaord

Javascript 如何将ajax成功结果复制到clipbaord,javascript,jquery,ajax,clipboard,Javascript,Jquery,Ajax,Clipboard,我有一个ajax方法,它从控制器获取数据并显示在Jquery对话框中。我的目标是在对话框中有一个按钮,允许用户点击数据,而不是使用鼠标突出显示数据并进行复制 阿贾克斯 Jquery对话框 $('#my-dialog').dialog({ autoOpen: false, width: 400, resizable: false, modal: true, buttons: { 'Copy': function ()

我有一个ajax方法,它从控制器获取数据并显示在Jquery对话框中。我的目标是在对话框中有一个按钮,允许用户点击数据,而不是使用鼠标突出显示数据并进行复制

阿贾克斯

Jquery对话框

    $('#my-dialog').dialog({
    autoOpen: false,
    width: 400,
    resizable: false,
    modal: true,
    buttons: {
        'Copy': function ()
        {
            //window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
           // $(this).dialog('close');

        }

    }
});

您可以使用
execCommand
在剪贴板上使用
javascript
进行复制。临时创建输入,将数据放入其中并将其删除:

function clipboard(){
    var mydata = document.createElement("input");
    document.body.appendChild(mydata);
    mydata.setAttribute("id", "mydata_id");
    document.getElementById("mydata_id").value=Yourdata-success-response;  
    mydata.select();
    document.execCommand("copy");
    document.body.removeChild(mydata);
}

您可以使用
execCommand
在剪贴板上使用
javascript
进行复制。临时创建输入,将数据放入其中并将其删除:

function clipboard(){
    var mydata = document.createElement("input");
    document.body.appendChild(mydata);
    mydata.setAttribute("id", "mydata_id");
    document.getElementById("mydata_id").value=Yourdata-success-response;  
    mydata.select();
    document.execCommand("copy");
    document.body.removeChild(mydata);
}

请尝试下面的代码,该代码复制数据而不选择文本/数据


功能CopyToClipboard(){
var输入=document.getElementById(“toClipboard”);
var textToClipboard=input.value;
var成功=真;
if(window.clipboardData){//Internet Explorer
window.clipboardData.setData(“Text”,textToClipboard);
}
否则{
//为execCommand方法创建临时元素
var forExecElement=CreateElementForExecCommand(textToClipboard);
/*选择元素的内容
(用于“复制”方法的execCommand对所选内容有效)*/
选择内容(用于执行);
支持的var=true;
//在Firefox中访问剪贴板需要UniversalXPConnect权限
试一试{
if(window.netscape&&netscape.security){
netscape.security.privilegmanager.enablePrivilege(“UniversalXPConnect”);
}
//将所选内容复制到剪贴板
//适用于Firefox和Safari版本5之前的版本
success=document.execCommand(“复制”,false,null);
}
捕获(e){
成功=错误;
}
//移除临时元素
document.body.removeChild(用于执行);
}
如果(成功){
警告(“文本在剪贴板上,请尝试粘贴!”);
}
否则{
警告(“您的浏览器不允许访问剪贴板!”);
}
}
函数CreateElementForExecCommand(textToClipboard){
var forExecElement=document.createElement(“div”);
//放置在可见区域之外
forExecElement.style.position=“绝对”;
forExecElement.style.left=“-10000px”;
forExecElement.style.top=“-10000px”;
//将必要的文本写入元素并附加到文档中
forExecElement.textContent=textToClipboard;
document.body.appendChild(forExecElement);
//contentEditable模式对于Firefox中的execCommand方法是必需的
forExecElement.contentEditable=true;
返还外汇;
}
功能选择内容(元素){
//首先创建一个范围
var rangeToSelect=document.createRange();
rangeToSelect.selectNodeContents(元素);
//选择内容
var selection=window.getSelection();
selection.removeAllRanges();
selection.addRange(rangeToSelect);
}
将文本复制到剪贴板

请尝试下面的代码,该代码复制数据而不选择文本/数据


功能CopyToClipboard(){
var输入=document.getElementById(“toClipboard”);
var textToClipboard=input.value;
var成功=真;
if(window.clipboardData){//Internet Explorer
window.clipboardData.setData(“Text”,textToClipboard);
}
否则{
//为execCommand方法创建临时元素
var forExecElement=CreateElementForExecCommand(textToClipboard);
/*选择元素的内容
(用于“复制”方法的execCommand对所选内容有效)*/
选择内容(用于执行);
支持的var=true;
//在Firefox中访问剪贴板需要UniversalXPConnect权限
试一试{
if(window.netscape&&netscape.security){
netscape.security.privilegmanager.enablePrivilege(“UniversalXPConnect”);
}
//将所选内容复制到剪贴板
//适用于Firefox和Safari版本5之前的版本
success=document.execCommand(“复制”,false,null);
}
捕获(e){
成功=错误;
}
//移除临时元素
document.body.removeChild(用于执行);
}
如果(成功){
警告(“文本在剪贴板上,请尝试粘贴!”);
}
否则{
警告(“您的浏览器不允许访问剪贴板!”);
}
}
函数CreateElementForExecCommand(textToClipboard){
var forExecElement=document.createElement(“div”);
//放置在可见区域之外
forExecElement.style.position=“绝对”;
forExecElement.style.left=“-10000px”;
forExecElement.style.top=“-10000px”;
//将必要的文本写入元素并附加到文档中
forExecElement.textContent=textToClipboard;
文件