在可编辑div中空格键是 和 ‘ ’,混合的,由于浏览器只识别第一个 ‘ ’,所以项目中为了后期页面的自适应以及兼容性,决定将空格符统一为 ;同样将回车键产生的不同标签替换为统一的
方法:在键盘事件中
//是否输入回车
isEnterkey(e);
//是否输入换行
isSpacekey(e);
替换回车的方法
/*按下enter 键 编辑框回车事件 插入br换行,更换浏览器默认插入的div*/
function isEnterkey(e){
if(e && e.keyCode == 13){
//如果當前是列表
if($('.TextInner').attr('list-layout') == 'true'){
//找到li 回车自动加入li
}else{
var ev = e || window.event;
var key = ev.keyCode || ev.charCode;
var sel, rang, br, fixbr, node, inner, tempRange, offset;
if(ev.preventDefault) {
ev.preventDefault();
} else {
ev.returnValue = false;
}
if(window.getSelection) {
br = document.createElement('br');
sel = window.getSelection();
rang = sel.rangeCount > 0 ? sel.getRangeAt(0) : null;
if(rang === null) {
return false;
}
rang.deleteContents();
node = sel.focusNode;
inner = false;
while(node.parentNode != document