I tried to create a simple ubb editor, but document.selection.createRange () does not work in IE and it just won’t get the selected text (try to warn the selected text, but you won’t get anything). I still can not find the cause and solve this problem.
Here you can see the script here
window.onload = function () {
var ubb = document.getElementById('ubb_code');
var ubba = ubb.getElementsByTagName('a');
var textarea = document.getElementsByTagName('textarea')[0];
ubba[0].onclick = function() {
tag('[b]','[/b]');
};
function tag(tag1,tag2){
if (document.selection){
textarea.focus();
var sel = textarea.document.selection.createRange();
sel.text = tag1 + sel.text + tag2;
}else{
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
var sel = textarea.value.substring(start, end);
var rep = tag1 + sel + tag2;
textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
textarea.scrollTop = scrollTop;
textarea.scrollLeft = scrollLeft;
}
}
source
share