来自未来穴居人的问候,
我正在尝试构建一个简单的所见即所得,但不幸的是,我无法使其默认情况下使用段落而不是简单的换行符。然后我读到以下内容:
在designMode IFrame中按Enter时,强制浏览器插入<p>标签
这个问题是一年多以前提出的。通过链接,我发现Webkit中的某些问题已“解决”:https : //bugs.webkit.org/show_bug.cgi ? id = 59961已解决:http : //trac.webkit.org/changeset/ 109529
抱歉,我没有赶上进度,但这意味着什么:解决了这个问题,有没有办法解决此问题,而无需使用JS和监视按键?
如果没有,那么针对此的JS解决方案是什么?监视“输入”,然后如何将所选内容包装在段落标记中?到目前为止,我已经尝试过了,但是没有用
$("#richTextField").keydown(function(e) {
alert("you pressed something");
if (e.keyCode == 13) {
alert("you pressed ENTER");
richTextField.document.execCommand('formatblock',false,"P");
}
});
根本不起作用-甚至不会引发警报。
只是为了澄清...我想要:
This is my first paragraph
<br>
This is my second paragraph
<br>
现在正在发生什么,成为正常现象
<p>This is my first paragraph</p>
<p>This is my second paragraph</p>
谢谢
实际上,我已经使用JS弄清楚了。尽管下面的方法很简单,但确实会导致复杂性,例如将段落标签插入列表项以及很多换行符等。我想您以后可以在php中删除它。这是任何需要它的人的代码:
$("#richTextField").contents().keydown(function(e) {
if (e.keyCode === 13) {
richTextField.document.execCommand('formatblock',false,"P");
}
});
或者,您也可以像这样进行操作,在我看来效果更好,因为使用上面的代码,如果在其中编写了一些内容但未按Enter键,则根本没有段落标签。
$("#richTextField").contents().keydown(function(e) {
richTextField.document.execCommand('formatblock',false,"P");
});
我能找到的唯一方法。如果有人不使用JavaScript并监视“ enter”键而认识另一个人,请发表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句