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

  • monkophile

    monkophile

    25 Temmuz 2007
  • The Fashion Sight

    The Fashion

    22 AĞUSTOS 2011
  • TomSka

    TomSka

    30 Mayıs 2006