我正在尝试将文本复制到剪贴板。但是已经在模态窗口中显示了在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

最佳答案

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

来自同一教程:


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

关于javascript - execCommand在javascript jQuery中无法正常工作以将文本复制到剪贴板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21532340/

10-13 00:36