2010-10-25 10 views
5

Chcę zaznaczyć tekst w akapicie po kliknięciu lub dwukrotnym kliknięciu znacznika <p>. Nie wyróżnij, tak jak przy użyciu myszy, aby wybrać obszar do wyboru!Zaznacz tekst tak jak "Ctrl + A" podczas klikania tekstu?

Mam kilka paragrafów i adresów linków * .rar na stronie i chcę zaznaczyć cały tekst, gdy kliknę jedną z nich. Myślę, że pole tekstowe może działać w ten sposób, ale podoba mi się, że jest w tagu akapitu lub łącza.

Czy istnieje sposób, aby zaznaczyć cały tekst w akapicie, klikając inny element?

+1

Hmmm, trochę więcej informacji prosimy – Petah

+1

ten potrzebuje więcej kontekstu. Czy pytasz o edytor tekstu? aplikacja WinForms? Aplikacja internetowa? Aplikacja na iPhone'a? Aplikacja na Androida? – Yuliy

+0

Od dźwięków: chcesz mieć możliwość zaznaczania tekstu akapitowego. Możesz już to zrobić. (Wow, to zostało szybko rozwiązane.) Ale poważnie, podaj nam więcej informacji. – doppelgreener

Odpowiedz

7

Oto funkcja, która wyłoni zawartość elementu, który przechodzą do niego:

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

Idealny! Pomyślałem, że to alternatywny sposób na zdobycie celu. Dziękuję bardzo! – qinHaiXiang

2

Jeśli mówisz o JavaScript, spójrz na Introduction to Range Peter-Paul Koch (znany ze swoich tabel zgodności).

+0

Bardzo mi przykro! Chodzi o funkcję strony internetowej. Mam kilka akapitów na stronie i chcę zaznaczyć cały tekst, gdy kliknę jedną z nich. – qinHaiXiang

+0

Próbowałem użyć pola tekstowego do przechowywania adresu linku do pliku, kiedy skupiam się i zaznaczam tekst w polu tekstowym. Flashgot działa dobrze. Ale kiedy usuwam zaznaczenie pola tekstowego, flashgot pozostanie przy adresie linku do pliku! – qinHaiXiang

+0

range.selectNodeContents jest niezdefiniowany .. w chrome – SuperUberDuper

0

Możesz wybrać cały akapit za pomocą podwójnego kliknięcia. Dlaczego chcesz to zmienić?

+0

Tak. Jestem taki głupi. Ale czy jest to sposób na wybór tekstu akapitu przez kliknięcie innego elementu, takiego jak tytuł "h"! – qinHaiXiang

Powiązane problemy