gpt4 book ai didi

javascript - 在 Iframe 上的 'designMode' 中将默认设置为

而不是

转载 作者:行者123 更新时间:2023-11-29 22:08:49 25 4
gpt4 key购买 nike

来自 future 穴居人的问候,

我正在尝试构建一个简单的所见即所得,不幸的是我无法让它默认使用段落而不是简单的换行符。然后我读到这个:

Force browser to insert <p> tag when pressing Enter in a designMode IFrame

这个问题是一年多以前问的。通过链接我看到 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");
}
});

或者您也可以这样做,我认为这种方法效果更好,因为使用上面的代码,如果输入一些内容但不按回车键,您根本不会得到任何段落标签。

$("#richTextField").contents().keydown(function(e) {
richTextField.document.execCommand('formatblock',false,"P");
});

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

关于javascript - 在 Iframe 上的 'designMode' 中将默认设置为 <p> 而不是 <br>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19285519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com