Javascript 崩塌及;nbsp;在a<;p>;标签
我使用TinyMCE允许我的用户创建他们自己的网页。我的目标是让人们在编辑器中键入的内容与它发布的页面完全相同。我几乎明白了,除了Tinymce如果用户在句子之间加上两个空格,就会添加一个Javascript 崩塌及;nbsp;在a<;p>;标签,javascript,html,css,tinymce,Javascript,Html,Css,Tinymce,我使用TinyMCE允许我的用户创建他们自己的网页。我的目标是让人们在编辑器中键入的内容与它发布的页面完全相同。我几乎明白了,除了Tinymce如果用户在句子之间加上两个空格,就会添加一个。显然,在编辑器中,如果位于一行的开头,那么它会折叠,这样每一行都会紧靠编辑器的左侧。但是,在完成的页面中,这会在“p”标记的行首处创建一个空格。我可以去掉,但是在编辑器中它的外观与最后一页不同 有人知道在p标记的行首折叠的方法吗?或者有没有一种方法可以在TinyMCE中对其进行不同的格式化,从而使编辑器和最终
。显然,在编辑器中,如果
位于一行的开头,那么它会折叠,这样每一行都会紧靠编辑器的左侧。但是,在完成的页面中,这会在“p”标记的行首处创建一个空格。我可以去掉
,但是在编辑器中它的外观与最后一页不同
有人知道在
p
标记的行首折叠
的方法吗?或者有没有一种方法可以在TinyMCE中对其进行不同的格式化,从而使编辑器和最终页面看起来完全相同?谢谢 不可能“崩溃”它。您必须使用正则表达式或字符串替换来删除它 正如迪奥多斯所说,你不能折叠一个字符,如果你想摆脱它,你必须把它去掉。
许多浏览器会将一行中输入的多个空格“压缩”到一个空格中。这意味着即使用户输入了15个空间,也只有一个可见空间。这就是tinymce进入受保护空间的原因。现在,输入的所有空间都将以不同类型空间的价格显示
更新:插入跨度并检查其位置的示例代码。您将对“左”的值进行汇总
var ed = this.editor, box = null;
if ( $(ed.getBody()).find('p:first').css('line-height') != 'normal'){
lineHeight = $(ed.getBody()).find('p:first').css('line-height') ;
}
else {
lineHeight = $(ed.getBody()).find('p:first').css('min-height');
}
var lineHeight = lineHeight.substr(0, lineHeight.length -2 );//box.height;
var rng = ed.selection.getRng();
rng.collapse(true);
bm = ed.selection.getBookmark();
$marker = $(ed.getBody()).find('#'+bm.id);
var elem = ed.getDoc().getElementById(bm.id+'_start');
box = elem.getBoundingClientRect();
var doc = ed.getDoc(),
docElem = doc.documentElement,
body = ed.getBody(),
win = ed.getWin(),
clientTop = docElem.clientTop || body.clientTop || 0,
clientLeft = docElem.clientLeft || body.clientLeft || 0,
scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop,
scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
top = box.top + scrollTop - clientTop,
left = box.left + scrollLeft - clientLeft;
// set Bookmark
ed.selection.moveToBookmark(bm);
谢谢你。你比我先编辑:)谢谢你的洞察力。有没有一种方法可以感知角色何时处于新行的开头?这样我才能聪明地把它们去掉。另一方面,我又回到了把它们全部剥离出来,并根据用户输入的内容更改视觉外观。这是可能的,但有点棘手,例如,您必须插入一个空白的跨距,然后获取其位置。当你非常靠近左边时,你将处于一条新线的起点。查看我的更新答案,了解一些示例代码。这太棒了!好主意!