execCommand无法在javascript jQuery中将文本复制到剪贴板

时间:2014-02-03 16:20:32

标签: javascript jquery range

我正在尝试将文本复制到剪贴板。但是已经在模式窗口中显示了在ajax调用之后出现的文本。代码如下:

jQuery.fn.selectText = function(){
var doc = document
    , element = this[0]
    , range, selection
;
if (doc.body.createTextRange) {
    range = document.body.createTextRange();
    range.moveToElementText(element);
    range.select();
} else if (window.getSelection) {
    selection = window.getSelection();        
    range = document.createRange();
    range.selectNodeContents(element);
    selection.removeAllRanges();
    selection.addRange(range);
}

所以range = document.createRange();之后我尝试插入range.execCommand('copy');因为我已经阅读了this教程,但它没有提到这个命令的任何问题。我得到的错误如下:

TypeError: range.execCommand is not a function

This is a mozilla tutorial about execCommand

1 个答案:

答案 0 :(得分:2)

范围没有execCommand函数,execCommand函数属于document对象。

取自相同的教程:

  

当HTML文档切换到designMode时,文档   object公开execCommand方法,该方法允许运行命令   操纵可编辑区域的内容。大多数命令   影响文档的选择(粗体,斜体等),而其他   插入新元素(添加链接)或影响整行   (缩进)。使用contentEditable时,调用execCommand会   影响当前活动的可编辑元素。