2010-06-20 14 views
5

Bildiğiniz gibi, bir tarayıcıda bir kelimeye çift tıklandığında, üç kez tıklatıldığında paragrafın tamamı seçilir.HTML kullanılabilirlik sorusu - (çift) metin seçmek için tıkla

ben anonim kullanıcılar için imzalar otomatik olarak oluşturulur bir wiki, titriyor ve onlar gibi bakmak:

--- // <ip.ad.dr.ess> //

" --- "bir — oluşturur, // italik metin içindir ve <em> </em > üretir.

Şimdi nasıl yürüdüğüm, bu şekilde çalışıyor. Şimdi kullanılabilirliği merak ediyorum.

Soruma soru: ip adresinin çift tıklatıldığında tüm adresin ve yalnızca adresin seçileceği şekilde biçimlendirme nasıl oluşturulur?

Biçimlendirme dili önemli değil, HTML'de bir çözüm sağlayabilir, ancak wikis için özel bir tane (dokuwiki) tercih edilebilir.

Teşekkürler

+0

Bu kesinlikle çözülebilir, ancak çözümün karmaşık olması muhtemeldir. Bu ne için? Wiki'yi değiştirmek daha kolay olmaz, böylece içeriği otomatik olarak eklemez mi? –

+0

Ben bu içeriği eklemek için tweaking biri duyuyorum. Çalışıyor, ama şimdi erişilebilirlik hakkında merak ediyorum – Flavius

+0

Bunun için nedir? Erişilebilirlikle ne demek istiyorsun? –

cevap

5

Herkese teşekkürler, ancak sınırsız olarak ayarlanmış bir salt metin alanı kullanarak ve web sitesinin arka planının arka plan rengiyle bunu yapmayı başardım.

İstemci tarafı komut dosyasına güvenmeden, çift tıklatıldığında beklendiği gibi çalışır.

2

Bunu HTML ile yapamazsınız. Belki de Javascript ile. Temel olarak, belirli bir alanda çift tıklamayı tespit edip uygun metni seçersiniz.

DÜZENLEME:

İşte W3C tarayıcıda nasıl yapılacağını (örneğin Firefox, muhtemelen W3C uyumlu bir tarayıcı değildir ve farklı metin seçimi modeli kullanır, hangi IE çalışmaz) var:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html> 
    <head> 
     <script type="text/javascript"> 
      function select(elem) { 
       var sel = window.getSelection(); 
       var range = sel.getRangeAt(0); 
       range.selectNode(elem); 
       sel.addRange(range); 
      }    
     </script> 
    </head> 
    <body> 
     <p>a simple paragraph, this is 
      <span onclick="select(this);">clickable area</span> 
      when this 
      <span ondblclick="select(this);">span tag is double-clicked</span> 
      then they will be selected 
     </p> 
    </body> 
</html> 
+0

En son kromda, fonksiyonun ilk parametresi olarak elde ettiğim şey olaydır, bu yüzden "e" ve "elem" ile "e.target" ile değiştirilmiş ve güzel çalışmıştır. – haridsv

+0

"Olay" belgelerine göre, ilk parametre aslında olay nesnesinin kendisi değil, elemandır. Bkz. Https://developer.mozilla.org/en/docs/Web/API/Event. Düzenleme: Sadece, bu parametrenin ilk parametre olarak açıkça geçtiğini fark ettiniz. – haridsv

+0

@haridsv: olay işleyicisini addEventListener() ile ekliyorsanız bu doğrudur. Olay, burada olduğu gibi @onclick özniteliğine eklendiğinde, parametreler işleyiciye ne yazdığınıza göre belirlenir, bu durumda bu "öğe" dir. Günümüzde, addEventListener() ile veya onclick özniteliğine eklenmekten ziyade jquery ile göze batmayan şekilde eklemek daha iyi bir uygulama olabilir. –

İlgili konular