본문 바로가기

Web/Javascript

addTag


// insertion code
function edInsertTag(myField, i) {
//IE support
if (document.selection) {
    myField.focus();
     sel = document.selection.createRange();
    if (sel.text.length > 0) {
     sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd;
    }
    else {
     if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
        sel.text = edButtons[i].tagStart;
        edAddTag(i);
     }
     else {
        sel.text = edButtons[i].tagEnd;
        edRemoveTag(i);
     }
    }
    myField.focus();
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
    var cursorPos = endPos;
    var scrollTop = myField.scrollTop;
    if (startPos != endPos) {
     myField.value = myField.value.substring(0, startPos)
                    + edButtons[i].tagStart
                    + myField.value.substring(startPos, endPos)
                    + edButtons[i].tagEnd
                    + myField.value.substring(endPos, myField.value.length);
     cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length;
    }
    else {
     if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
        myField.value = myField.value.substring(0, startPos)
                     + edButtons[i].tagStart
                     + myField.value.substring(endPos, myField.value.length);
        edAddTag(i);
        cursorPos = startPos + edButtons[i].tagStart.length;
     }
     else {
        myField.value = myField.value.substring(0, startPos)
                     + edButtons[i].tagEnd
                     + myField.value.substring(endPos, myField.value.length);
        edRemoveTag(i);
        cursorPos = startPos + edButtons[i].tagEnd.length;
     }
    }
    myField.focus();
    myField.selectionStart = cursorPos;
    myField.selectionEnd = cursorPos;
    myField.scrollTop = scrollTop;
}
else {
    if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
     myField.value += edButtons[i].tagStart;
     edAddTag(i);
    }
    else {
     myField.value += edButtons[i].tagEnd;
     edRemoveTag(i);
    }
    myField.focus();
}
}

function edInsertContent(myField, myValue) {
//IE support
if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
    myField.focus();
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
    myField.value = myField.value.substring(0, startPos)
                 + myValue
                     + myField.value.substring(endPos, myField.value.length);
    myField.focus();
    myField.selectionStart = startPos + myValue.length;
    myField.selectionEnd = startPos + myValue.length;
} else {
    myField.value += myValue;
    myField.focus();
}
}

'Web > Javascript' 카테고리의 다른 글

createRange  (0) 2013.09.26
createElement  (0) 2013.09.26
clipboardData 클립보드  (0) 2013.09.26
Casting Unicode 유니 코드로 변경  (0) 2013.09.26
최실장님이 만들어 달래서 -_- 이름하야 더블클릭 셀렉트 박스  (0) 2013.09.26