2016-04-01 21 views
1

Mein Ziel ist es, ein Bild in die Zwischenablage zu kopieren. Gegeben ist es nicht erlaubt Bild aus Sicherheitsgründen Grund zu kopieren, die Use-Case ich angehen möchte, ist:jquery Bild auswählen funktioniert nicht

  1. drückt der Benutzer Taste kopieren
  2. durch jquery wählen Sie das Bild (Fokus und wählen)
  3. Aufforderung der Benutzer ctrl + c zu drücken, um das Bild

das Problem ist, zu kopieren, wenn ich dies für eine Eingabe machen, ich den Text nach innen, dass einfach auswählen kann, aber ich bin nicht in der Lage es für ein Bild zu machen. Unten ist die abstrahierte Version von dem, was ich versuche, hauptsächlich nur das Bild für jetzt zu wählen.

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
 
<script> 
 
$(document).ready(function(){ 
 
    $("#myImage").focus(); 
 
    $("#myImage").select(); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 
<img id="myImage" width="220" height="277" src="https://pixabay.com/static/uploads/photo/2015/10/01/21/39/background-image-967820_960_720.jpg" alt="The Scream"> 
 
</body> 
 
</html>

unten ist das gleiche Beispiel, aber für einen Eingang und es funktioniert.

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
 
<script> 
 
$(document).ready(function(){ 
 
    $("#myInput").focus(); 
 
    $("#myInput").select(); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 
    
 
<input id="myInput" value="hello"/> 
 
</body> 
 
</html>

Wenn jemand die richtigste Weg, dies kann mir tut es würde geschätzt. Vielen Dank.

+1

Bildelemente haben keine 'select' Methode. Versuchen Sie http://stackoverflow.com/questions/4183401/can-you-set-and-orchange-the-user-s-text-selection-in-javascript – CBroe

Antwort

1

Ich habe clipboard.js verwendet, um mein Problem zu lösen und einen Weg gefunden, ein Bild mit nur einer Taste in die Zwischenablage zu kopieren. Das Folgende war meine Lösung.

beachten Sie, es wird nicht funktionieren, bis Sie die Cliboardjs herunterladen.

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <script src="clipboard.min.js"></script> 
 
    <title></title> 
 
</head> 
 
<body> 
 

 
    <div id="myDiv"> 
 

 
    <img width="220" height="277" src="https://pixabay.com/static/uploads/photo/2015/10/01/21/39/background-image-967820_960_720.jpg" alt="The Scream"> 
 

 
    </div> 
 
    <button class="btn" data-clipboard-target="#myDiv"> 
 
    Copy to clipboard 
 
    </button> 
 
    <script type="text/javascript"> 
 

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

 
    clipboard.on('success', function(e) { 
 
     e.clearSelection(); 
 
    }); 
 

 
    </script> 
 
</body> 
 
</html>

Verwandte Themen