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

  • BruBearBaby

    BruBearBaby

    25 Ocak 2011
  • Blu animations and other videos

    Blu animatio

    15 HAZİRAN 2007
  • spyib

    spyib

    9 Ocak 2007