2010-10-25 15 views
5

Ich möchte den Text in einem Absatz auswählen, wenn ich auf das Tag <p> klicke oder doppelklicke. Nicht markieren, genau wie mit der Maus, um einen Auswahlbereich zu erstellen, um den auszuwählenden Text auszuwählen!Wählen Sie einen Text wie "Strg + A", wenn Sie auf den Text klicken.

Ich habe mehrere Absatz und * .rar Datei Link-Adressen auf der Seite, und ich möchte den gesamten Text auswählen, wenn ich auf einen von ihnen klicke. Ich denke, das Textfeld könnte so funktionieren, aber ich mag es in einem Absatz oder Link-Tag zu sein.

Gibt es eine Möglichkeit, den gesamten Text im Absatz durch Klicken auf ein anderes Element auszuwählen?

+1

Ähm, ein wenig mehr Informationen bitte – Petah

+1

Dieser mehr Kontext benötigt. Fragen Sie nach einem Texteditor? eine WinForms App? Eine Web-App? Eine iPhone App? Eine Android App? – Yuliy

+0

Aus den Klängen davon: Sie möchten in der Lage sein, Absatztext auszuwählen. Das kannst du schon machen. (Wow, das wurde schnell gelöst.) Aber ernsthaft, gib uns mehr Informationen. – doppelgreener

Antwort

7

Hier ist eine Funktion, die den Inhalt des Elements wählen, werden Sie es passieren:

function selectElementContents(el) { 
    var range; 
    if (window.getSelection && document.createRange) { 
     range = document.createRange(); 
     var sel = window.getSelection(); 
     range.selectNodeContents(el); 
     sel.removeAllRanges(); 
     sel.addRange(range); 
    } else if (document.body && document.body.createTextRange) { 
     range = document.body.createTextRange(); 
     range.moveToElementText(el); 
     range.select(); 
    } 
} 

window.onload = function() { 
    var el = document.getElementById("your_para_id"); 
    selectElementContents(el); 
}; 
+0

Perfekt! Ich dachte, es wäre der alternative Weg, um mein Ziel zu erreichen. Vielen Dank !! – qinHaiXiang

2

Wenn Sie über JavaScript sprechen, sehen Sie sich Introduction to Range von Peter-Paul Koch (berühmt für seine Kompatibilitätstabellen).

+0

Es tut mir so leid! Es geht um eine Webseitenfunktion. Ich habe mehrere Absätze auf der Seite, und ich möchte den ganzen Text auswählen, wenn ich auf einen von ihnen klicke. – qinHaiXiang

+0

Ich hatte versucht, Textfeld zu verwenden, um die Dateilinkadresse zu halten, wenn ich den Text in der Textbox fokussiere und auswähle. Die flashgot Arbeit gut. Aber, wenn ich die Textbox entferne, halte flashgot die Dateilinkadresse! – qinHaiXiang

+0

range.selectNodeContents ist undefined .. in chrome – SuperUberDuper

0

Sie können einen ganzen Absatz mit einem Doppelklick auswählen. Warum willst du das ändern?

+0

Yeah.Ich bin so dumm.Aber es ist eine Möglichkeit, den Absatz Text durch Klicken auf ein anderes Element, wie den Titel "h" -Tag! – qinHaiXiang

Verwandte Themen