2024-01-24 21:53:26 +00:00
|
|
|
const $insertTags = function(target, tagOpen, tagClose) {
|
2023-01-02 20:07:55 +00:00
|
|
|
tagOpen = tagOpen || '';
|
|
|
|
tagClose = tagClose || '';
|
2020-05-11 01:17:05 +00:00
|
|
|
|
2023-01-02 20:07:55 +00:00
|
|
|
if(document.selection) {
|
|
|
|
target.focus();
|
2024-01-24 21:53:26 +00:00
|
|
|
const selected = document.selection.createRange();
|
2023-01-02 20:07:55 +00:00
|
|
|
selected.text = tagOpen + selected.text + tagClose;
|
|
|
|
target.focus();
|
|
|
|
} else if(target.selectionStart || target.selectionStart === 0) {
|
2024-01-24 21:53:26 +00:00
|
|
|
const startPos = target.selectionStart,
|
2023-01-02 20:07:55 +00:00
|
|
|
endPos = target.selectionEnd,
|
|
|
|
scrollTop = target.scrollTop;
|
|
|
|
|
|
|
|
target.value = target.value.substring(0, startPos)
|
|
|
|
+ tagOpen
|
|
|
|
+ target.value.substring(startPos, endPos)
|
|
|
|
+ tagClose
|
|
|
|
+ target.value.substring(endPos, target.value.length);
|
|
|
|
|
|
|
|
target.focus();
|
|
|
|
target.selectionStart = startPos + tagOpen.length;
|
|
|
|
target.selectionEnd = endPos + tagOpen.length;
|
2024-01-24 21:53:26 +00:00
|
|
|
target.scrollTop = scrollTop;
|
2023-01-02 20:07:55 +00:00
|
|
|
} else {
|
|
|
|
target.value += tagOpen + tagClose;
|
|
|
|
target.focus();
|
|
|
|
}
|
2020-05-11 01:17:05 +00:00
|
|
|
};
|