如何实现在textarea选中项的前后插入[b]和[/b]标记? 本帖最后由 sujunlin_1987 于 2010-03-25 23:58:09 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script type="text/javascript"><!--function getAreaRange() { var obj=document.getElementById("text"); var pos = new Object(); var clone; if (isIE) { obj.focus(); var range = document.selection.createRange(); clone = range.duplicate(); clone.moveToElementText(obj); clone.setEndPoint( 'EndToEnd', range ); pos.start = clone.text.length - range.text.length; pos.end = clone.text.length - range.text.length + range.text.length; }else if(window.getSelection()) { pos.start = obj.selectionStart; pos.end = obj.selectionEnd; } obj.value=obj.value.substr(0,pos.start)+ ""+range.text+""+ obj.value.substr(pos.end)}var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0);// --></script><body><textarea id="text" >asdfg</textarea><input type=button value=B onclick="getAreaRange();"> <script type="text/javascript"> b = {bold:{open:"",close:""}}; function makeitbold(){ var $tb = document.getElementById("textbox"); if (document.selection){ var str=document.selection.createRange().text; var sel=document.selection.createRange(); sel.text= b.bold.open +str+b.bold.close; }else if (typeof $tb.selectionStart != 'undefined'){ var $before, $after, $selection; $before= $tb.value.substring(0, $tb.selectionStart) $selection = $tb.value.substring($tb.selectionStart, $tb.selectionEnd) $after = $tb.value.substring($tb.selectionEnd, $tb.value.length) $tb.value= String.concat($before, b.bold.open, $selection,b.bold.close, $after) } $tb.focus(); } </script><form name="my_form"> <textarea name="textbox" id="textbox"></textarea><br /> <input type="button" value="bold" onclick="makeitbold();" /></form> 正则表达式 /()??/什么意思 Extjs 怎么设置jsp页面的背景颜色 gmap拉框查询的问题 jQuery在tabs传参问题 Extjs 加载数据小问题? 由showModalDialog 模态窗口引发的问题 三级联动 大神来帮忙!! 操作XML字串(在线) 请问下段代码WINDOWS对象的OPEN方法返回值是什么?为什么要用一个变量接收呢?谢谢~ 不好意思,一个简单问题....... [菜鸟自学四]浮动广告 这段JS代码可以再精简么?
function getAreaRange() {
var obj=document.getElementById("text");
var pos = new Object();
var clone;
if (isIE) {
obj.focus();
var range = document.selection.createRange();
clone = range.duplicate(); clone.moveToElementText(obj);
clone.setEndPoint( 'EndToEnd', range ); pos.start = clone.text.length - range.text.length;
pos.end = clone.text.length - range.text.length + range.text.length;
}else if(window.getSelection()) {
pos.start = obj.selectionStart;
pos.end = obj.selectionEnd;
}
obj.value=obj.value.substr(0,pos.start)+
""+range.text+""+
obj.value.substr(pos.end)
}
var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0);
// --></script>
<body>
<textarea id="text" >asdfg</textarea>
<input type=button value=B onclick="getAreaRange();">
b = {bold:{open:"",close:""}};
function makeitbold(){
var $tb = document.getElementById("textbox");
if (document.selection){
var str=document.selection.createRange().text;
var sel=document.selection.createRange();
sel.text= b.bold.open +str+b.bold.close;
}else if (typeof $tb.selectionStart != 'undefined'){
var $before, $after, $selection;
$before= $tb.value.substring(0, $tb.selectionStart)
$selection = $tb.value.substring($tb.selectionStart, $tb.selectionEnd)
$after = $tb.value.substring($tb.selectionEnd, $tb.value.length)
$tb.value= String.concat($before, b.bold.open, $selection,b.bold.close, $after)
}
$tb.focus();
}
</script><form name="my_form">
<textarea name="textbox" id="textbox"></textarea><br />
<input type="button" value="bold" onclick="makeitbold();" />
</form>