2012-03-20 83 views
0

我试图显示任何用户使用IE时复制。使用jQuery Im和下面的代码:Jquery绑定复制问题

$('#data').bind("copy", function(e) {alert(clipboardData.getData("text"));}) 

的问题是,每当我复制它表明先前复制的数据。在将数据放入剪贴板之前不会显示显示该功能的当前数据。是否有任何解决方法

+0

复制/粘贴问题是复杂的 - IE是剩下的几个浏览器,允许你做一个这个。 Firefox直接阻止了这一点。正确的解决方法需要Flash黑客。 [相关](http://stackoverflow.com/questions/5579232/simple-copy-paste-function-in-javascript) – 2012-03-20 18:39:42

+0

@JohnStrickler这就是我发现了。只是想知道这是否可以通过jQuery来完成。 – SNAG 2012-03-20 18:40:45

+0

@SKS如何获得? – SNAG 2012-03-20 18:52:50

回答

1

我想你想要的是获得选定的文本。请参见下面的代码来获取文本选择,

DEMO

$('#data').bind("copy", function(e) { 
    var selectedText; 
    //reference post: https://stackoverflow.com/a/275825/297641 
    // IE version 
    if (document.selection != undefined) { 
     $(this).focus(); 
     var sel = document.selection.createRange(); 
     selectedText = sel.text; 
    } 
    // Mozilla version 
    else if (textComponent.selectionStart != undefined) { 
     var startPos = textComponent.selectionStart; 
     var endPos = textComponent.selectionEnd; 
     selectedText = textComponent.value.substring(startPos, endPos) 
    } 

    alert(selectedText); 
}); 

参考How to get selected text from textbox control with javascript

+0

这正是我所期待的。谢谢 – SNAG 2012-03-20 19:04:02