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

  • George McCarron

    George McCar

    29 Mayıs 2013
  • bored before i even began

    bored before

    30 Mart 2009
  • The Onion

    The Onion

    14 Mart 2006