SORU
31 Ocak 2009, CUMARTESİ


jQuery Metin alanında İmleç Konumunu Ayarlamak

Nasıl bir metin alanı jQuery kullanarak imleç konumunu ayarlamak mı? İçeriği bir metin alanı var ve kullanıcılar, imleci belirli bir alanda odaklanmak zaman ofset yerleştirilmiş olmak istiyorum. Kod da bu gibi görünmelidir:

$('#input').focus(function() {
  $(this).setCursorPosition(4);
});

Bu setCursorPosition işlev uygulaması nasıl olurdu? Eğer içerik abcdefg ile bir metin alanı varsa, bu çağrı imleci aşağıdaki gibi konumlandırılmış neden a*|*efg.

Java benzer bir işlev, setCaretPosition vardır. Benzer bir yöntem javascript var mı?

Güncelleme: CMS kod aşağıdaki gibi jQuery ile çalışmak için değiştirdim

new function($) {
  $.fn.setCursorPosition = function(pos) {
    if (this.setSelectionRange) {
      this.setSelectionRange(pos, pos);
    } else if (this.createTextRange) {
      var range = this.createTextRange();
      range.collapse(true);
      if(pos < 0) {
        pos = $(this).val().length   pos;
      }
      range.moveEnd('character', pos);
      range.moveStart('character', pos);
      range.select();
    }
  }
}(jQuery);

CEVAP
8 Mayıs 2009, Cuma


Burada bir WordPress kullanmak bir çözüm:

$.fn.selectRange = function(start, end) {
    if(typeof end === 'undefined') {
        end = start;
    }
    return this.each(function() {
        if('selectionStart' in this) {
            this.selectionStart = start;
            this.selectionEnd = end;
        } else if(this.setSelectionRange) {
            this.setSelectionRange(start, end);
        } else if(this.createTextRange) {
            var range = this.createTextRange();
            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', start);
            range.select();
        }
    });
};

Bu, yapabilirsin

$('#elem').selectRange(3,5); // select a range of text
$('#elem').selectRange(3); // set cursor position

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Drakinen

    Drakinen

    1 EYLÜL 2008
  • superemposed

    superemposed

    25 Aralık 2007