6 Stimmen

Ausgewählten Text auf der Seite (nicht in einer Textarea) mit jQuery abrufen

Dieses Plugin ermöglicht es Ihnen, den vom Benutzer in einem Textfeld ausgewählten Text zu erfassen, und ce site hat nicht jQuery-basierte Anweisungen für das Erfassen von Text, den der Benutzer außerhalb eines Textbereichs ausgewählt hat.

Ich frage mich, ob die Funktionalität des letzteren in jedem jQuery-Plugin verfügbar ist.

Editar: Ist es außerdem möglich, den Anfangs- und Endindex der Auswahl zu ermitteln? D. h., wo die Auswahl innerhalb des enthaltenen Elements beginnt und endet?

6voto

cletus Punkte 596503

Der Grund, warum es schwierig ist, ein Plug-in dafür zu finden, ist nicht, dass es nicht sehr "jQuery"-mäßig ist. Damit meine ich, dass jQuery-Plugins normalerweise mit jQuery-Objekten arbeiten und die Auswahl nichts mit irgendwelchen Elementen zu tun hat.

Bearbeiten: Ich habe übersehen, dass Sie diesen Link in Ihrer Frage gepostet haben, aber ich lasse ihn der Vollständigkeit halber unten stehen, da meine Version besser formatiert ist (aber ansonsten identisch) :)

<script language=javascript>
function getSelText() {
  var txt = '';
  if (window.getSelection) {
    txt = window.getSelection();
  } else if (document.getSelection) {
    txt = document.getSelection();
  } else if (document.selection) {
    txt = document.selection.createRange().text;
  } else return;
  document.aform.selectedtext.value =  txt;
}
</script>
<input type="button" value="Get selection" onmousedown="getSelText()"> 
<form name=aform >
<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>

3voto

meder omuraliev Punkte 177513

Es ist nichts Falsches daran, Codeschnipsel zu kopieren und einzufügen. So fangen die meisten Leute an, und Sie werden es so lange tun, bis Sie mit den eingefügten Schnipseln so vertraut sind, dass Sie anfangen, Teile davon zu ändern oder sogar ganz von vorne anzufangen.

Für dieses bestimmte Stück Code, ich sehe nicht wirklich etwas falsch mit dem Kopieren es andere als nicht auf Inline-Event-Handler und unauffällig Hinzufügen der "mousedown" mit jQuery.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X