2015-11-03 97 views
-3

我知道這個問題有幾個答案,但是我看着選擇的多樣性,我是對立的。這是我想解決的問題。使用javascript將文本複製到剪貼板

在jQueryMobile程序中,用戶執行搜索。列出了結果的列表視圖。 (可能有很多)。事實證明,列表視圖中結果的名稱可以在應用程序的另一個輸入字段中使用。所以我的想法是讓他們點擊一個圖標,將結果顯示在剪貼板上的列表視圖中,這樣當他們進入應用程序中的其他頁面時,他們只需按^ C(或Mac上的CMD-c)並且數據將被加載到該字段中。

我基本上是尋找最簡單的解決方案,如果任何人有任何見解。

回答

2

您可以試試Clipboard.js

這是一個免費的JavaScript剪貼板庫,所以沒有Flash/Java後備。它有一個聲明屬性API和一個更可配置的命令式API,可以用來微調您的特定用例。

要解決您的問題,您需要創建「複製」按鈕作爲HTML元素。

<!-- Target --> 
<input id="foo" value="DEFAULT_VALUE"> 

<!-- Trigger --> 
<button class="btn" data-clipboard-target="#foo"> 
    <img src="assets/clippy.svg" alt="Copy to clipboard"> 
</button> 

然後,當用戶複製文本時,您可以根據以下處理程序捕獲的事件顯示反饋。

var clipboard = new Clipboard('.btn'); 

clipboard.on('success', function(e) { 
    console.info('Action:', e.action); 
    console.info('Text:', e.text); 
    console.info('Trigger:', e.trigger); 

    e.clearSelection(); 
}); 

clipboard.on('error', function(e) { 
    console.error('Action:', e.action); 
    console.error('Trigger:', e.trigger); 
}); 
+1

[還涉及](http://stackoverflow.com/questions/7218061/javascript-copy-text-to-clipboard?rq=1) –

+0

用戶沒有複製文本(直接即) 。該程序有一個想要粘貼到剪貼板的名稱列表。用戶通知程序將剪貼板上的名稱列表存儲起來。 ckipboard.js會不會解決這個問題,在粗略一瞥之後似乎不那麼容易。 – mlewis54

+0

這會將任何輸入的值添加到剪貼板。您可以將該值設置爲所有名稱的逗號分隔列表。當用戶點擊按鈕時,它們將被複制。如果您想以其他方式觸發它,則可以使用命令式API。 –