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

  • Lancome USA

    Lancome USA

    30 HAZİRAN 2009
  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009