2017-02-08 12 views
0

私の目標は、私のウェブサイトのwhatsappのようなメッセンジャーアプリに似た機能を持たせることです。スマイリーをクリックすると、<img>となり、この<img>の値はクリップボードに保存され、おそらく<input>フィールドにコピーされることもあります。imgをクリップボードにコピーして貼り付けます。

助けていただければ幸いです。私はこれをどうやって行うのか本当に分かりません。 JavascriptまたはjQueryの両方が問題ありません。 ただ、スタート:

<img src="..." id="smiley" value=":)" style="cursor:pointer"> 
    <input type="text" id="copyhere"> 

jQuery('#smiley').on('click', function() { 

}); 

答えて

2

あなたは、パラメータとしてコピーDocument.execCommand()を使用する必要があります。

$('#smiley').on('click', function() { 
 
    var value = $(this).attr('value'); 
 

 
    copyToClipboard(value); 
 
    
 
    $('#copyhere').val(value); 
 
}); 
 

 
function copyToClipboard(value) { 
 
    var $tmpInput = $('<input>'); 
 
    $tmpInput.val(value); 
 
    $('body').append($tmpInput); 
 
    $tmpInput.select(); 
 
    document.execCommand('copy'); 
 
    $tmpInput.remove(); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img src="..." id="smiley" value=":)" style="cursor:pointer"> 
 
<input type="text" id="copyhere">

+0

ここでコードを実行しているとき、それは私が必要とするまさにん、ありがとうございます。私はモジュールの位置で私のjoomlaのサイトにコピーしようとしたと同じ正確なコードは動作しません。私は$をjQueryに置き換えたのは、それがjoomlaで問題を引き起こすことが多いからです。なぜこれはうまくいかないのでしょうか?これは「メインコンテンツ領域」ではなく、サイドモジュール内にあります。 – sojutyp

+0

私のサイトのjQueryバージョンはこのためには古すぎることが判明しました。インクルードを追加して動作します。どうもありがとう! – sojutyp

関連する問題