2011-07-29 48 views
0

Gvien是一個textarea標籤,當用戶點擊該標籤時,我可以使用一些帶有onMouseDown的javascript來獲取光標的座標。現在我想能夠寫一些文本到這一點。有沒有辦法做到這一點? 感謝您的幫助, Andynic將一些文本嵌入到html格式的光標處

+0

啊!涼。聽起來像你需要鼠標位置和位置:絕對元素。 –

回答

1

你問的問題可能很難。我發現code and tutorial 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; 
}