【发布时间】:2015-06-28 13:49:35
【问题描述】:
我的 HTML 中有一个文本区域,用户可以在其中输入内容。在 textarea 附近有一个按钮,可以在所选行的开头添加一个“ - ”,使其像一个列表。
例如,如果我有以下文本:
This is a line of text
然后我全部选中并按下按钮,它会显示如下:
- This is a line of text
但是,这仅在选择一行时有效。如果我要选择两行,它只会格式化一行。这是我的代码:
带有一些 jQuery 的 JavaScript:
var selection = $("#answer" + questionNumber).getSelection();
if (selection.text != '') {
$("#answer" + questionNumber).replaceSelectedText(' - ' + selection.text);
return;
}
.getSelection() 和 .replaceSelectedText() 方法来自 this jQuery 插件。
虽然我可能通过识别选择中是否有 '\n' 然后将列表样式添加到其中,可能使用正则表达式,但我不确定如何进行编码。
Here 是我的问题的 JSFiddle。
【问题讨论】:
-
你能创建一个fiddle或plunker吗?
-
@A.J 我尝试制作一个jsfiddle.net/PavSidhu/s2o33zzj,但由于某种原因我无法在
<script>标签中导入所需的文件。 -
@PavSidhu 你在左边添加资源....
-
您的 jsfiddle 有一些错误,包括您试图在安全页面上的 iframe 中通过常规 http 加载脚本(如果您查看开发控制台,它甚至会警告您)。我已经清理了问题并分叉了你的小提琴here。
-
太棒了,谢谢@ttton
标签: javascript jquery regex textarea