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

  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011