Heim Web-Frontend js-Tutorial So implementieren Sie die Pasteboard-Kopierfunktion mit JS

So implementieren Sie die Pasteboard-Kopierfunktion mit JS

Jun 07, 2018 pm 02:33 PM
js 粘贴板

In diesem Artikel werden 20 Zeilen JS-Code analysiert, um die Pasteboard-Funktion zu implementieren. Er ist sehr gut und hat Referenzwert.

Die Verwendung der Zwischenablage ist eine grundlegende Fähigkeit. Als Programmierer sollte jeder wissen, dass Tab, Strg/Befehl + A, Strg/Befehl + C und Strg/Befehl + V Tastenkombinationen für Autofokus, Kopieren und Einfügen sind.

Aber für normale Benutzer ist es möglicherweise nicht einfach. Selbst wenn ein Benutzer weiß, was eine Zwischenablage ist, wird es (außer für) Personen mit sehr gutem Sehvermögen oder schnellen Reflexen schwierig sein, genau den gewünschten Text hervorzuheben. Wenn der Benutzer die Tastenkombinationen nicht kennt, das versteckte Bearbeitungsmenü nicht sehen kann, noch nie das Rechtsklick-Menü verwendet hat oder nicht weiß, dass durch langes Drücken des Touchscreens das Optionsmenü angezeigt wird, wird er dies tun Wahrscheinlich kenne ich die Kopierfunktion nicht.

Sollten wir also eine Schaltfläche „In die Zwischenablage kopieren“ bereitstellen, um dem Benutzer zu helfen? Diese Funktion dürfte auch für Benutzer nützlich sein, die mit Tastaturkürzeln bestens vertraut sind.

Über die Sicherheit der Zwischenablage

Vor einigen Jahren war es für Browser unmöglich, die Zwischenablage direkt zu verwenden. Entwickler mussten es über Flash implementieren.

Die Zwischenablage mag belanglos erscheinen, aber stellen Sie sich vor, was passieren würde, wenn der Browser den Inhalt nach Belieben sehen und bearbeiten könnte. JS-Skripte (einschließlich Skripte von Drittanbietern) können die Textinformationen in der Zwischenablage anzeigen und Passwörter, vertrauliche Informationen oder sogar ganze Dokumente an den Remote-Server senden.

Die aktuelle Zwischenablage verfügt über eingeschränkte Grundfunktionen und weist folgende Einschränkungen auf:

  1. Die meisten Browser unterstützen die Zwischenablage, außer Safari.

  2. Die Unterstützung variiert je nach Browser und einige Funktionen sind unvollständig oder fehlerhaft.

  3. Das Ereignis muss vom Benutzer initiiert werden, z. B. durch Klicken mit der Maus oder Drücken der Tastatur. Das Skript hat keinen freien Zugriff auf die Zwischenablage.

document.execCommand()

Diese Methode ist der Schlüssel zur Implementierung der Zwischenablage. Sie kann drei Parameter übergeben: Ausschneiden, Kopieren und Einfügen. Beginnen wir mit dem am häufigsten verwendeten document.execCommand('copy').

Bevor wir es verwenden, sollten wir prüfen, ob der Browser den Kopierbefehl unterstützt: document.queryCommandSupported('copy'); oder document.queryCommandEnabled('copy'); , diese beiden Methoden haben den gleichen Effekt.

Obwohl Chrome unter Chrome die Verwendung von Kopiennamen unterstützt, geben beide Methoden false zurück. Daher ist es besser, den Prüfcode in einen Try-Catch-Block zu packen.

Was sollen wir den Benutzern im nächsten Schritt zum Kopieren gestatten? Text muss hervorgehoben werden, und alle Browser können die Methode select() verwenden, um Text innerhalb der Texteingabe und des Textbereichs auszuwählen. Gleichzeitig unterstützen Firefox und Chrome/Opera auch die document.createRange -Methode, die die Auswahl von Text aus jedem Element ermöglicht, wie folgt:

// select text in #myelement node
  var
   myelement = document.getElementById('#myelement'),
   range = document.createRange();
  range.selectNode(myelement);
  window.getSelection().addRange(range);
Nach dem Login kopieren

, aber IE/Edge unterstützt sie nicht.

clipboard.js

Wenn Sie selbst keine robustere browserübergreifende Zwischenablagemethode implementieren möchten, kann Ihnen clipboard.js helfen. Es gibt mehrere Möglichkeiten, Optionen festzulegen, z. B. das Datenattribut von H5, das Festlegen von Bindungsauslöseelementen und Zielelementen, z. B.:

<input id="copyme" value="text in this field will be copied" />
<button data-clipboard-target="#copyme">copy</button>
Nach dem Login kopieren

Do it yourself

Zwischenablage Die . Die js-Größe beträgt nur 2 KB. Wenn nur einige der folgenden Funktionen implementiert sind, können sie innerhalb von 20 Codezeilen implementiert werden:

Nur ​​einige Formularelemente können kopiert werden

In einem nicht unterstützten Browser (ja, Safari) können Sie den ausgewählten Text markieren und den Benutzer auffordern, Strg/Befehlstaste + C zu drücken.

Erstellen Sie wie bei clipboard.js zunächst eine Schaltfläche zum Auslösen der Methode, die über ein Datenattribut data-copytarget verfügt, das auf das zu kopierende Element (z. B. #website) verweist

<input type="text" id="website" value="http://www.sitepoint.com/" />
<button data-copytarget="#website">copy</button>
一个立即执行函数表达式绑定click事件的函数,该函数用于解析 data-copytarget 属性内容,选择对应字段的文本并执行 document.execCommand(&#39;copy&#39;) ,。若失败,文本保持选中状态,显示提示框:
(function() {
 &#39;use strict&#39;;
 // click events
 document.body.addEventListener(&#39;click&#39;, copy, true);
 // event handler
 function copy(e) {
  // find target element
  var
   t = e.target,
   c = t.dataset.copytarget,
   inp = (c ? document.querySelector(c) : null);
  // is element selectable?
  if (inp && inp.select) {
   // select text
   inp.select();
   try {
    // copy text
    document.execCommand(&#39;copy&#39;);
    inp.blur();
   }
   catch (err) {
    alert(&#39;please press Ctrl/Cmd+C to copy&#39;);
   }
  }
 }
})();
Nach dem Login kopieren

Beispiel

Obwohl der Code im obigen Beispiel einschließlich des Codes für Stile und Animationen mehr als 20 Zeilen umfasst, sind Animationen und Stile optional.

Zusammenfassung:

  1. Wählen Sie den Inhalt des zu kopierenden Formularelements über .select() aus

  2. Dokument aufrufen. execCommand( "copy")-Methode

  3. ruft die .blur()-Methode auf, um den Fokus vom Formularelement zu entfernen

  4. Schritte 2 und einschließen 3 Wenn der Browser dies im Try-Catch-Block nicht unterstützt, wird

Andere Möglichkeiten

Es gibt viele neue Möglichkeiten dazu Übernehmen Sie die Zwischenablage. Wenn Sie beispielsweise bei Trello.com mit der Maus über eine Karte fahren, können Sie Ctrl / Cmd + C drücken und die Linkadresse der Karte in Ihre Zwischenablage kopieren. Die Implementierung dahinter besteht darin, zunächst ein verstecktes Formularelement mit der URL zu erstellen und dann dessen Inhalt auszuwählen und zu kopieren. Sehr clever und nützlich – ich vermute, dass nur sehr wenige Benutzer von dieser Funktion wissen!

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

So implementieren Sie eine kreisförmige Nodelist-Dom-Liste mit JS

So erreichen Sie eine Änderung der Textfarbe nach dem Klicken in Vue

So legen Sie die Hintergrundfarbe für eine separate Seite in Vue-cli fest

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Pasteboard-Kopierfunktion mit JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie JS und Baidu Maps, um die Kartenschwenkfunktion zu implementieren So verwenden Sie JS und Baidu Maps, um die Kartenschwenkfunktion zu implementieren Nov 21, 2023 am 10:00 AM

So implementieren Sie die Kartenschwenkfunktion mit JS und Baidu Map. Baidu Map ist eine weit verbreitete Kartendienstplattform, die häufig zur Anzeige geografischer Informationen, Positionierung und anderer Funktionen in der Webentwicklung verwendet wird. In diesem Artikel wird erläutert, wie Sie mit JS und der Baidu Map API die Kartenschwenkfunktion implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Vorbereitung Bevor Sie die Baidu Map API nutzen können, müssen Sie zunächst ein Entwicklerkonto auf der Baidu Map Open Platform (http://lbsyun.baidu.com/) beantragen und eine Anwendung erstellen. Erstellung abgeschlossen

Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Apr 03, 2024 am 11:55 AM

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Dec 17, 2023 pm 06:55 PM

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen in PHP und JS. Mit der rasanten Entwicklung des Internets und der Technologie ist der Aktienhandel für viele Anleger zu einer wichtigen Möglichkeit geworden. Die Aktienanalyse ist ein wichtiger Teil der Anlegerentscheidung, und Kerzendiagramme werden häufig in der technischen Analyse verwendet. Wenn Sie lernen, wie man Kerzendiagramme mit PHP und JS zeichnet, erhalten Anleger intuitivere Informationen, die ihnen helfen, bessere Entscheidungen zu treffen. Ein Candlestick-Chart ist ein technischer Chart, der Aktienkurse in Form von Candlesticks anzeigt. Es zeigt den Aktienkurs

So erstellen Sie ein Aktien-Candlestick-Diagramm mit PHP und JS So erstellen Sie ein Aktien-Candlestick-Diagramm mit PHP und JS Dec 17, 2023 am 08:08 AM

So verwenden Sie PHP und JS zum Erstellen eines Aktienkerzendiagramms. Ein Aktienkerzendiagramm ist eine gängige technische Analysegrafik auf dem Aktienmarkt. Es hilft Anlegern, Aktien intuitiver zu verstehen, indem es Daten wie den Eröffnungskurs, den Schlusskurs, den Höchstkurs usw niedrigster Preis der Aktie. In diesem Artikel erfahren Sie anhand spezifischer Codebeispiele, wie Sie Aktienkerzendiagramme mit PHP und JS erstellen. 1. Vorbereitung Bevor wir beginnen, müssen wir die folgende Umgebung vorbereiten: 1. Ein Server, auf dem PHP 2. Ein Browser, der HTML5 und Canvas 3 unterstützt

So verwenden Sie JS und Baidu Maps, um die Karten-Heatmap-Funktion zu implementieren So verwenden Sie JS und Baidu Maps, um die Karten-Heatmap-Funktion zu implementieren Nov 21, 2023 am 09:33 AM

Verwendung von JS und Baidu Maps zur Implementierung der Karten-Heatmap-Funktion Einführung: Mit der rasanten Entwicklung des Internets und mobiler Geräte sind Karten zu einem häufigen Anwendungsszenario geworden. Als visuelle Darstellungsmethode können Heatmaps uns helfen, die Verteilung von Daten intuitiver zu verstehen. In diesem Artikel wird die Verwendung von JS und der Baidu Map API zur Implementierung der Karten-Heatmap-Funktion vorgestellt und spezifische Codebeispiele bereitgestellt. Vorbereitung: Bevor Sie beginnen, müssen Sie Folgendes vorbereiten: ein Baidu-Entwicklerkonto, eine Anwendung erstellen und den entsprechenden AP erhalten

So verwenden Sie JS und Baidu Map, um die Funktion zur Verarbeitung von Kartenklickereignissen zu implementieren So verwenden Sie JS und Baidu Map, um die Funktion zur Verarbeitung von Kartenklickereignissen zu implementieren Nov 21, 2023 am 11:11 AM

Überblick über die Verwendung von JS und Baidu Maps zum Implementieren von Funktionen zur Verarbeitung von Kartenklickereignissen: In der Webentwicklung ist es häufig erforderlich, Kartenfunktionen zum Anzeigen des geografischen Standorts und geografischer Informationen zu verwenden. Die Verarbeitung von Klickereignissen auf der Karte ist ein häufig verwendeter und wichtiger Teil der Kartenfunktion. In diesem Artikel wird erläutert, wie Sie mithilfe von JS und der Baidu-Karten-API die Klickereignisverarbeitungsfunktion der Karte implementieren, und es werden spezifische Codebeispiele angegeben. Schritte: Importieren Sie die API-Datei von Baidu Map. Importieren Sie zunächst die Datei von Baidu Map API in die HTML-Datei.

PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen Dec 18, 2023 pm 03:39 PM

Mit der rasanten Entwicklung der Internetfinanzierung sind Aktieninvestitionen für immer mehr Menschen zur Wahl geworden. Im Aktienhandel sind Kerzendiagramme eine häufig verwendete Methode der technischen Analyse. Sie können den sich ändernden Trend der Aktienkurse anzeigen und Anlegern helfen, genauere Entscheidungen zu treffen. In diesem Artikel werden die Entwicklungskompetenzen von PHP und JS vorgestellt, der Leser wird zum Verständnis des Zeichnens von Aktienkerzendiagrammen geführt und es werden spezifische Codebeispiele bereitgestellt. 1. Aktien-Kerzendiagramme verstehen Bevor wir uns mit dem Zeichnen von Aktien-Kerzendiagrammen befassen, müssen wir zunächst verstehen, was ein Kerzendiagramm ist. Candlestick-Charts wurden von den Japanern entwickelt

So verwenden Sie JS und Baidu Maps, um die Funktion zum Zeichnen von Kartenpolygonen zu implementieren So verwenden Sie JS und Baidu Maps, um die Funktion zum Zeichnen von Kartenpolygonen zu implementieren Nov 21, 2023 am 10:53 AM

Verwendung von JS und Baidu Maps zur Implementierung der Kartenpolygonzeichnungsfunktion In der modernen Webentwicklung sind Kartenanwendungen zu einer der häufigsten Funktionen geworden. Durch das Zeichnen von Polygonen auf der Karte können wir bestimmte Bereiche markieren, damit Benutzer sie anzeigen und analysieren können. In diesem Artikel wird erläutert, wie Sie mithilfe von JS und der Baidu-Karten-API die Funktion zum Zeichnen von Kartenpolygonen implementieren, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die Baidu Map API einführen. Mit dem folgenden Code können Sie das JavaScript der Baidu Map API in eine HTML-Datei importieren

See all articles