2012-03-20 44 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