如何在组合键CTRL + i上用<em>包围textarea内的选定文本?

伊万话题

当我在 textarea 中选择一个文本并按Ctrl+i我想在它前面加上 HTML。因此,如果我dolor sit在里面选择Lorem ipsum dolor sit amet我希望该文本变为Lorem ipsum <em>dolor sit</em> amet. 与我们在 WordPress 中可以实现的功能相同。

https://codepen.io/ivan-topi/pen/dybXzvd

jQuery('textarea').on('keydown', function(e) {
    // If key press combination is CTRL+i
    if (e.ctrlKey && e.key == 'i') {
        // Get selected text
        var selectedText = window.getSelection().toString();
        // Format new text
        selectedText = '<em>' + selectedText + '</em>';
        // Make changes
        // window.setSelection() if only it exists, but I couldn't find alternative?
    }
});
<textarea>Lorem ipsum dolor sit amet</textarea>

斯瓦蒂

你可以substring用来做上面的 .ie :

jQuery('textarea').on('keydown', function(e) {

  // If key press combination is CTRL+i
  if (e.ctrlKey && e.key == 'i') {

    //getting length of text
    var length = $('#abc').val().length;
    //starting text
    var start_point = $('#abc')[0].selectionStart;
    //ending text
    var end_point = $('#abc')[0].selectionEnd;

    //getting selected text
    var selectedText = $('#abc').val().substring(start_point, end_point);
    console.log(selectedText);
    var replacement = "<em>" + selectedText + "</em>";
    $('#abc').val($('#abc').val().substring(0, start_point) + replacement + $('#abc').val().substring(end_point, length));

  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<textarea id="abc">Lorem ipsum dolor sit amet</textarea>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AutoHotKey-如何在IF语句上使用组合键?

Java在jtree上检测CTRL + X组合键

组合键上的ManyToMany

如何制作一个组合键(例如Ctrl + tab)的快捷键,用于在崇高文本中的两列之间更改焦点

如何在Autohotkey中发送Ctrl + F组合键

如何在 Linux Mint 19.3(基于 Ubuntu 18.04)上使用“3rd level of Caps Lock”作为组合键?

VirtualBox VM 上的 Xubuntu 看不到 CTRL-Fn 组合键

在组合键上配置多个命令

使用sqlalchemy的组合键上的关系

如何在Debian上禁用Ctrl + Alt +功能键组合?

在visual studio代码中如何在组合[alt + ctrl + ']中组合键[`]?

使用Ctrl + V组合键时,是否可以更新Blazor中附加到输入文本项的绑定变量?

Ubuntu 16.04如何从不同的组合键中选择每种文本输入语言源

SQL:在现有组合键上添加外键

如何在Embarcadero C ++ Builder中检测Ctrl + P组合键

将 html 标记添加到选定文本的 Atom 组合键

具有组合键的@OneToOne实体上的JPA @Id

ZF2 +组合键上的重复表格验证

具有组合键的数据集上的聚合

组合键上的 Pandas Dataframe Concat/Upsert

如何在触发器上使选定项文本变为红色和粗体(在组合框中)

如何在AutoHotkey中为组合键触发NoOp

如何在Laravel中创建组合键?

如何在ArrangoDB中创建组合键

如何在Chen ER图中显示组合键

如何在where子句中过滤组合键?

如何在.inputrc中将组合键绑定为null?

如何使两个键 Ctrl + S 按下组合键?

如何在Windows 7上禁用CTRL ALT键?