SORU
6 HAZİRAN 2011, PAZARTESİ


Nasıl şapka işareti(imleç) doğal ses elemanı pozisyonu (dıv) ayarlamak için?

Örnek olarak bu basit bir HTML var:

<div id="editable" contenteditable="true">
  text text text<br>
  text text text<br>
  text text text<br>
</div>
<button id="button">focus</button>

Ben basit bir şey - ben düğmesine tıkladığınızda, (imleç) düzenlenebilir div yeri belirli şapka içine yerleştirmek istiyorum. Web üzerinden arama yapmak, bu JS düğmesini ekledim ama çalışmıyor () FF, Chrome,:

var range = document.createRange();
var myDiv = document.getElementById("editable");
range.setStart(myDiv, 5);
range.setEnd(myDiv, 5);

El ile bu şekilde düzeltme konumu ayarlamak mümkün mü ?

CEVAP
6 HAZİRAN 2011, PAZARTESİ


Çoğu tarayıcıda Range Selection nesneleri gerekir. Sana bir düğüm olarak seçim sınırları ve bir düğüm içinde mahsup her belirtin. Örneğin, ikinci satır metin beşinci karakter için şapka ayarlamak için aşağıdakileri yapmak istiyorum:

var el = document.getElementById("editable");
var range = document.createRange();
var sel = window.getSelection();
range.setStart(el.childNodes[2], 5);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);

YANİ < 9 tamamen farklı bir şekilde çalışıyor. Eğer bu tarayıcıları desteklemek isterseniz, farklı bir kod gerekir.

jsFiddle örnek: http://jsfiddle.net/timdown/vXnCM/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gimpology.com Video Tutorials

    Gimpology.co

    3 ŞUBAT 2008
  • iNCH

    iNCH

    20 Temmuz 2009
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008