SORU
30 HAZİRAN 2009, Salı


İmleç Javascript kullanarak bir metin eklemek/jquery

Metin kutularının bir sürü sayfa var. Birisi bir bağlantıyı tıkladığında, bir veya iki kelime imlecin bulunduğu eklenecek istiyorum, ya da odak noktası olan textbox eklenir.

Örneğin, imleç/odak bir textbox söyleyerek 'elma' ve o tıklama bir bağlantı söyleyerek, '[email]', sonra istediğim textbox ki: "apple bob@example.com'.

Bunu nasıl yapabilirim? Eğer odak radyo/açılan/metin olmayan bir öğe üzerinde ise ne zamandan beri böyle bir şey mümkün mü,? Son textbox üzerinde duruldu hatırlamış olabilir?

CEVAP
30 HAZİRAN 2009, Salı


Bu kullanım, here:

function insertAtCaret(areaId,text) {
    var txtarea = document.getElementById(areaId);
    var scrollPos = txtarea.scrollTop;
    var strPos = 0;
    var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? 
        "ff" : (document.selection ? "ie" : false ) );
    if (br == "ie") { 
        txtarea.focus();
        var range = document.selection.createRange();
        range.moveStart ('character', -txtarea.value.length);
        strPos = range.text.length;
    }
    else if (br == "ff") strPos = txtarea.selectionStart;

    var front = (txtarea.value).substring(0,strPos);  
    var back = (txtarea.value).substring(strPos,txtarea.value.length); 
    txtarea.value=front text back;
    strPos = strPos   text.length;
    if (br == "ie") { 
        txtarea.focus();
        var range = document.selection.createRange();
        range.moveStart ('character', -txtarea.value.length);
        range.moveStart ('character', strPos);
        range.moveEnd ('character', 0);
        range.select();
    }
    else if (br == "ff") {
        txtarea.selectionStart = strPos;
        txtarea.selectionEnd = strPos;
        txtarea.focus();
    }
    txtarea.scrollTop = scrollPos;
}

Kullanımı:

<textarea id="textareaid"></textarea>
<a href="#" onclick="insertAtCaret('textareaid','text to insert');return false;">Click Here to Insert</a>

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • captainpuppys2000

    captainpuppy

    20 HAZİRAN 2013
  • SVB International

    SVB Internat

    29 EKİM 2011
  • UlyssesForever's channel

    UlyssesForev

    28 ŞUBAT 2012