2009-08-23 9 views
6

ile This plugin ile seçtiğiniz metin al, kullanıcının bir metin içinde seçtiği metni yakalamanıza ve this site kullanıcının bir metnin dışında seçtiği metinleri kapmak için jQuery tabanlı olmayan yönergelere sahip olmanızı sağlar alanı.Sayfadaki seçili metni jQuery

Bu ikincisinin işlevselliğinin herhangi bir jQuery eklentisinde mevcut olup olmadığını merak ediyorum.

Düzeltme: Ayrıca, seçimin başlangıç ​​ve bitiş dizinlerini almak mümkün mü? I.e, seçim, içerdiği elemanın içinde başlar ve biterse?

cevap

6

Bunun için bir eklenti bulmak zor olmasının nedeni, "jQuery" ish değil. Bununla jQuery eklentileri normalde jQuery nesneleri üzerinde çalıştığı ve seçimin herhangi bir öğeyle ilgisi olmadığı anlamına gelir.

Düzeltme: Bu bağlantıyı sorgunuzda yayınladığınız gerçeği kaçırdım ancak sürümüm daha iyi biçimlendirildiğinden (ancak başka bir şekilde aynı olmadığından) tamlık için aşağıda bırakacağım. :) kod kopyalama ve yapıştırma snippet'leriyle yanlış bir şey yok

<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> 
+0

@Cletus - Sorusunda sahip olduğu bağlantıyı verdiniz (2. link). – klabranche

+0

Evet, sadece bir çeşit eklenti olarak paketlendiyse tercih ederim (kopyalama ve yapıştırma kodu beni kirli hissettiriyor). –

+0

Woops, bunu kaçırdı. – cletus

3

, çoğu insan başlar ve size bitleri değiştirerek başlayacağımızı yapıştırmak snippet'leriyle çok tanıdık elde edene kadar bunu yapmaya devam edecektir nasıl ve porsiyonlar veya kendi başınıza sıfırdan başlayarak.

Bu özel kod parçası için, satır içi olay işleyicilerine güvenmemek ve 'mousedown'u jQuery ile dikkatsizce eklemek dışında kopyalamakla ilgili yanlış bir şey göremiyorum.

+1

Sanırım Horace, kodun kopyalanmasını ve yapışmasını istemiyor sanki bir hata alırsa, bir hata yerine iki veya daha fazla yerde olacak (bir eklentinin sadece bir yazarı varsa). Şu anda 1,100 görüntüleme olan bir stackoverflow makalesinden geliyorsa, bu çok zaman harcanır. – AJP