入力補助
編集中
addEditToolButton(document.getElementById("ttttt")); function addEditToolButton(textarea) { var toolbar = document.createElement("div"); function addButton(id, title, fn) { var a = document.createElement("div"); a.href = "#"; a.innerHTML = "["+id+"]"; a.id = id; a.title = title; a.onclick = function() { try { fn() } catch (e) { } return false }; a.style.float = "left"; toolbar.appendChild(a); } function encloseSelection(prefix, suffix) { textarea.focus(); var start, end, sel, scrollPos, subst; if (typeof(document["selection"]) != "undefined") { sel = document.selection.createRange().text; } else if (typeof(textarea["setSelectionRange"]) != "undefined") { start = textarea.selectionStart; end = textarea.selectionEnd; scrollPos = textarea.scrollTop; sel = textarea.value.substring(start, end); } //alert("start:"+start+"\nend:"+end+"\nscrollPos:"+scrollPos+"\nsel"+sel); subst = prefix + sel + suffix; //subst = sel; if (typeof(document["selection"]) != "undefined") { var range = document.selection.createRange().text = subst; //textarea.caretPos -= suffix.length; } else if (typeof(textarea["setSelectionRange"]) != "undefined") { textarea.value = textarea.value.substring(0, start) + subst + textarea.value.substring(end); /*if (sel) { textarea.setSelectionRange(start + subst.length, start + subst.length); } else { textarea.setSelectionRange(start + prefix.length, start + prefix.length); } textarea.scrollTop = scrollPos; */ } if(typeof(textarea["setSelectionRange"]) != "undefined") { textarea.setSelectionRange(start, start+subst.length); } else { var end_new = - ( textarea.value.length - start+subst.length ); var range = textarea.createTextRange(); range.moveStart( "character", start ); range.moveEnd( "character", end_new ); range.select(); } } addButton("font", "フォント", function() { encloseSelection("<font>", "</font>");}); addButton("b", "太字", function() { encloseSelection("</b>", "<b>");}); addButton("i", "斜体", function() { encloseSelection("<i>", "</i>");}); addButton("s", "取り消し線", function() { encloseSelection("<s>", "</s>");}); addButton("u", "アンダーライン", function() { encloseSelection("<u>", "</u>");}); addButton("br", "改行", function() { encloseSelection("", "<br>");}); textarea.parentNode.insertBefore(toolbar, textarea); }