首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Iframe上的“<p>”设置为“<br>”,而不是“designMode”中的“designMode”

将Iframe上的“<p>”设置为“<br>”,而不是“designMode”中的“designMode”
EN

Stack Overflow用户
提问于 2013-10-10 01:18:00
回答 1查看 1.1K关注 0票数 2

来自未来穴居人的问候,

我正在尝试构建一个简单的wysiwyg,不幸的是,我无法让它在默认情况下使用段落,而不是简单的换行。然后我读到:

tag when pressing Enter in a designMode IFrame

这个问题是一年多前提出的。通过这些链接,我看到webkit中的一些东西已经被“解决”了:bug.cgi?id=59961 Resolved:http://trac.webkit.org/changeset/109529

对不起,我没有跟上速度,但这意味着什么:它已经解决了,是否有办法做到这一点,而不进入JS和监控按键?

如果没有,那么JS解决方案是什么呢?监视"enter“,然后如何将所选内容包装在段落标记中??到目前为止,我尝试过这个,但它不起作用。

代码语言:javascript
复制
$("#richTextField").keydown(function(e) {
alert("you pressed something");
if (e.keyCode == 13) {
alert("you pressed ENTER"); 
richTextField.document.execCommand('formatblock',false,"P");
}
});

根本不起作用-甚至警报也不会被抛出。

只是为了澄清..。我要:

代码语言:javascript
复制
This is my first paragraph
<br>
This is my second paragraph
<br> 

这就是现在正在发生的,成为一个正常人

代码语言:javascript
复制
<p>This is my first paragraph</p>
<p>This is my second paragraph</p>

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-10 02:34:05

其实我已经用JS算出来了。虽然下面的方法很简单,但它确实会导致复杂的情况,例如在列表项中插入段落标记和大量的换行等。我想你以后可以在php中去掉它。以下是任何需要它的人的代码:

代码语言:javascript
复制
$("#richTextField").contents().keydown(function(e) {
if (e.keyCode === 13) {
richTextField.document.execCommand('formatblock',false,"P");
}
});

或者你可以这样做,这在我看来更好,因为在上面的代码中,如果写一些东西,但不要点击enter,你就不会得到任何段落标记。

代码语言:javascript
复制
$("#richTextField").contents().keydown(function(e) {
richTextField.document.execCommand('formatblock',false,"P");
});

我唯一能找到的方法。如果有人知道另一个没有进入javascript和监控'enter‘键,请张贴。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19285519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档