SORU
26 Mayıs 2011, PERŞEMBE


Programlama yoluyla doğal ses bir HTML öğesi içinde metin seçme?

JavaScript, Olası programlı input textarea bir öğe seçin metin. ipt.focus() ile bir giriş odağı ve ipt.select() ile içeriğini seçin. Hatta ipt.setSelectionRange(from,to) ile belirli bir aralık seçebilirsiniz.

Benim sorum ise: herhangi bir şekilde bu contenteditable bir öğe de var mı?

elem.focus(), contenteditable bir öğe şapka koymak için yapabilirim, ama sonradan elem.select() çalışan (ve ne de setSelectionRange) çalışmayan buldum. Bu konuda web üzerinde bir şey bulamadım ama belki de yanlış şeyi arıyorum...

Eğer bir önemi varsa, ben sadece bu Chrome uzantısı olarak Google Chrome çalışmak lazım.

CEVAP
27 Mayıs 2011, Cuma


Eğer Krom bir öğe (doğal ses ya da değil) tüm içeriğini seçmek istiyorsanız, işte yapmanız gerekenler. Bu da Firefox, 3 , Opera 9 (muhtemelen önceki sürümleri ya da Safari ve IE 9 olacak. Ayrıca karakter seviyesine seçimleri oluşturabilirsiniz. API ihtiyacınız olan DOM Aralığı (geçerli spec DOM Level 2 de MDN) ve Seçim, hangi olarak belirtilen bir parçası olarak bir new Range spec (MDN docs).

function selectElementContents(el) {
    var range = document.createRange();
    range.selectNodeContents(el);
    var sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);
}

var el = document.getElementById("foo");
selectElementContents(el);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HTC

    HTC

    12 Ocak 2006
  • The Bad Tutorials

    The Bad Tuto

    6 EKİM 2009
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010