【问题标题】:Write HTML tags for new line on cursor position为光标位置上的新行编写 HTML 标记
【发布时间】:2016-02-22 04:49:34
【问题描述】:

我将光标放在lorem之后,然后按Enter

默认情况下,按下enter,chrome会在此处写入自己的span标签。

$("#test").keydown(function(e) {
  if (e.keyCode == 13) {
    e.preventDefault();
    var a = "<br>\n";
    /* here I need something like this:
    write - on - cursor - position(a); */

  };
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="test" contenteditable="true">loremIpsum</div>

【问题讨论】:

  • 等输入你想插入新的换行符吗?到底发生了什么?
  • 请发布与您的问题相关的 JavaScript/jQuery、CSS 和 HTML。使用以下任何或所有服务创建演示:jsFiddle.netCodePen.ioPlunker.coJS Bin 或 sn-p(位于文本编辑器工具栏或 CTRL+M 上的第 7 个图标)。
  • @GuruprasadRao,正如我所说的那样——bu default chrome...
  • @zer00ne,所有相关代码都在这里 - html - js 加上描述发生了什么以及我需要什么。 jsfiddle 不能显示任何加号。 css 完全无关紧要。
  • @bonaca ...CSS 和 HTML 与您的问题相关无论如何,我编辑了您的问题并将您的代码放入sn-p(花了不到 2 分钟。)从那里,我猜到了你在问什么(你做了一个没有问号“?”的声明)所以我更正了你的代码,使其符合你所描述的行为。希望那是您想要的,否则请告诉我。

标签: jquery contenteditable


【解决方案1】:

删除此属性e.preventDefault();,将启用所需的行为。

$("#test").keydown(function(e) {
  if (e.keyCode == 13) {
    /* e.preventDefault(); */
    var a = "<br>\n";

  };
});
#test {
  height: 100px;
  width: 75%;
  padding:10px;
  margin: 10px;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="test" contenteditable="true">loremIpsum</div>

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 2012-11-19
    相关资源
    最近更新 更多