如何添加换行 有一个淫荡的做法就是比较输入前和输入后整个body的innerHTML属性(逐字符比较),找出那个部分不一样的(估计是多个<br>),替换成一个<br> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编辑模式按下shift + Enter是换行.直接按Enter是换列. 请参考以下内容var canFormat = 0;if (document.selection || (typeof(document.createElement("textarea")["setSelectionRange"]) != "undefined")) canFormat = 1;function getSelected (e) { if (document.selection) { e.focus(); var range = document.selection.createRange(); return range.text; } else { var length = e.textLength; var start = e.selectionStart; var end = e.selectionEnd; if (end == 1 || end == 2 && length != undefined) end = length; return e.value.substring(start, end); }}function setSelection (e, v) { if (document.selection) { e.focus(); var range = document.selection.createRange(); range.text = v; } else { var length = e.contentLength; var start = e.selectionStart; var end = e.selectionEnd; if (end == 1 || end == 2 && length != undefined) end = length; e.value = e.value.substring(0, start) + v + e.value.substr(end, length); e.selectionStart = start + v.length; e.selectionEnd = start + v.length; } e.focus();}function formatStr (e, v) { if (!canFormat) return; var str = getSelected(e); if (str) setSelection(e, '[' + v + ']' + str + '[/' + v + ']'); return false;}function insertLink (e, isMail) { if (!canFormat) return; var str = getSelected(e); var link = ''; if (!isMail) { if (str.match(/^https?:/)) { link = str; } else if (str.match(/^(\w+\.)+\w{2,5}\/?/)) { link = 'http://' + str; } else if (str.match(/ /)) { link = 'http://'; } else { link = 'http://' + str; } } else { if (str.match(/@/)) { link = str; } } var my_link = prompt(isMail ? '输入 Email 地址:' : '输入 URL: ', link); if (my_link != null) { if (str == '') str = my_link; if (isMail) my_link = 'mailto:' + my_link; setSelection(e, '' + str + ''); } return false;}function Decode(e) { if (!canFormat) return; var str = getSelected(e); if (!str) return; str = str.replace(new RegExp("&","g"), "&"); str = str.replace(new RegExp("<","g"), "<"); str = str.replace(new RegExp(">","g"), ">"); str = str.replace(new RegExp('"',"g"), """); /* str = str.replace(new RegExp(' ',"g"), " "); */ setSelection(e, str); return false;} function $F(id) { return document.getElementById()&&document.getElementById(id)?document.getElementById(id).value:document.all[id].value; } function $(id) { return document.getElementById() && document.getElementById(id)?document.getElementById(id):document.all[id]; } function icon() { if (canFormat) { with (document) { write('<img title="粗体" onclick="return formatStr(document.forms[0].content, \'B\')" src="images/bold.gif" alt="粗体" width="26" height="19" />'); write('<img title="斜体" onclick="return formatStr(document.forms[0].content, \'I\')" src="images/italic.gif" alt="斜体" width="26" height="19" />'); write('<img title="下划线" onclick="return formatStr(document.forms[0].content, \'U\')" src="images/underline.gif" alt="下划线" width="26" height="19" />'); write('<img title="插入链接" onclick="return insertLink(document.forms[0].content)" src="images/link.gif" alt="插入链接" width="26" height="19" />'); write('<img title="引用" onclick="return formatStr(document.forms[0].content, \'BlockQuote\')" src="images/quote.gif" alt="引用" width="26" height="19" />'); write('<img title="HTML编码" onclick="return Decode(document.forms[0].content)" src="images/decode.gif" alt="Decode" width="26" height="19" />'); } } } 关键内容:document.selection关键方法:getSelected,setSelected 如何获取选中行的id js问题,求解答啊,谢谢咯 如何捕获点击alert窗口的“ok”按钮事件? [掌握 Ajax 第 1 部分] 清单1 如何读当前目录的文本文件 在firevfox里怎么使用onmouseleave属性 如何实现打印时让每页都能打印出我指定的标题 title 请教大侠~ SOS,谁能帮我解决以下问题? 在线等大神指点 如何识别safari浏览器进行页面跳转? 动态计算文本框内输入字符的数目为什么少一个? 在哪里写数据检查函数 才起作用????
var canFormat = 0;
if (document.selection ||
(typeof(document.createElement("textarea")["setSelectionRange"]) != "undefined"))
canFormat = 1;
function getSelected (e) {
if (document.selection) {
e.focus();
var range = document.selection.createRange();
return range.text;
} else {
var length = e.textLength;
var start = e.selectionStart;
var end = e.selectionEnd;
if (end == 1 || end == 2 && length != undefined) end = length;
return e.value.substring(start, end);
}
}function setSelection (e, v) {
if (document.selection) {
e.focus();
var range = document.selection.createRange();
range.text = v;
} else {
var length = e.contentLength;
var start = e.selectionStart;
var end = e.selectionEnd;
if (end == 1 || end == 2 && length != undefined) end = length;
e.value = e.value.substring(0, start) + v + e.value.substr(end, length);
e.selectionStart = start + v.length;
e.selectionEnd = start + v.length;
}
e.focus();
}function formatStr (e, v) {
if (!canFormat) return;
var str = getSelected(e);
if (str) setSelection(e, '[' + v + ']' + str + '[/' + v + ']');
return false;
}function insertLink (e, isMail) {
if (!canFormat) return;
var str = getSelected(e);
var link = '';
if (!isMail) {
if (str.match(/^https?:/)) {
link = str;
} else if (str.match(/^(\w+\.)+\w{2,5}\/?/)) {
link = 'http://' + str;
} else if (str.match(/ /)) {
link = 'http://';
} else {
link = 'http://' + str;
}
} else {
if (str.match(/@/)) {
link = str;
}
}
var my_link = prompt(isMail ? '输入 Email 地址:' : '输入 URL: ', link);
if (my_link != null) {
if (str == '') str = my_link;
if (isMail) my_link = 'mailto:' + my_link;
setSelection(e, '' + str + '');
}
return false;
}function Decode(e) {
if (!canFormat) return;
var str = getSelected(e); if (!str) return;
str = str.replace(new RegExp("&","g"), "&");
str = str.replace(new RegExp("<","g"), "<");
str = str.replace(new RegExp(">","g"), ">"); str = str.replace(new RegExp('"',"g"), """);
/* str = str.replace(new RegExp(' ',"g"), " "); */
setSelection(e, str);
return false;
} function $F(id)
{
return document.getElementById()&&document.getElementById(id)?document.getElementById(id).value:document.all[id].value;
} function $(id)
{
return document.getElementById() && document.getElementById(id)?document.getElementById(id):document.all[id];
} function icon()
{
if (canFormat) {
with (document) {
write('<img title="粗体" onclick="return formatStr(document.forms[0].content, \'B\')" src="images/bold.gif" alt="粗体" width="26" height="19" />');
write('<img title="斜体" onclick="return formatStr(document.forms[0].content, \'I\')" src="images/italic.gif" alt="斜体" width="26" height="19" />');
write('<img title="下划线" onclick="return formatStr(document.forms[0].content, \'U\')" src="images/underline.gif" alt="下划线" width="26" height="19" />');
write('<img title="插入链接" onclick="return insertLink(document.forms[0].content)" src="images/link.gif" alt="插入链接" width="26" height="19" />');
write('<img title="引用" onclick="return formatStr(document.forms[0].content, \'BlockQuote\')" src="images/quote.gif" alt="引用" width="26" height="19" />');
write('<img title="HTML编码" onclick="return Decode(document.forms[0].content)" src="images/decode.gif" alt="Decode" width="26" height="19" />');
}
}
}
关键方法:getSelected,setSelected