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

  • Autocar

    Autocar

    11 Mart 2006
  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007