文本解析,然后在javascript的textarea中突出显示

文本解析,然后在javascript的textarea中突出显示,javascript,jquery,Javascript,Jquery,在打字时,有没有一种在文本区域中动态突出显示文本的简洁方法 我基本上会输入: This is a [[note]] to do on friday. 在文本区域,然后使用,我会这样调用它: function FindAllNotes() { var note = /^(?:\[{2}(?!\[+))(.+)(?:\]{2}(?!\[+))$/g , input = ($(#textarea).val()).match(note);

在打字时,有没有一种在文本区域中动态突出显示文本的简洁方法

我基本上会输入:

This is a [[note]] to do on friday.
在文本区域,然后使用,我会这样调用它:

    function FindAllNotes() {
        var note = /^(?:\[{2}(?!\[+))(.+)(?:\]{2}(?!\[+))$/g
        , input = ($(#textarea).val()).match(note);
           $(#textarea).highlightWithinTextarea({
            highlight: [input],
            className: 'yellow'
          });

    }
    $(#textarea).on('keyup', function () {
        FindAllNotes();
    });
但问题是,每次我输入时,它都会工作并突出显示[[]]中包含的注释,然后我会丢失文本区域上的光标/焦点。

您可以使用
$(“#textarea”).focus()
手动设置文本框的焦点。可以尝试在突出显示函数后调用此函数,如下所示:

$(#textarea).on('keyup', function () {
    FindAllNotes();
    $("#textarea").focus();
});
您可以使用
$(“#textarea”).focus()
手动设置文本框的焦点。可以尝试在突出显示函数后调用此函数,如下所示:

$(#textarea).on('keyup', function () {
    FindAllNotes();
    $("#textarea").focus();
});

您链接到的插件可以根据需要处理正则表达式(尽管您应该从中删除
^
$
,以避免尝试匹配整个字符串)

$(函数(){
$('.example').highlightWithinTextarea({
突出显示:/(?:\[{2}(?!\[+)(.+)(?:\]{2}(?!\[+)/g,
类名:“突出显示”
});
});
。示例{
宽度:500px;
高度:250px;
}
.亮点{
背景色:番茄;
}


这是周五要做的一件事。
您链接到的插件可以按照您的需要处理正则表达式(尽管您应该从中删除
^
$
,以避免尝试匹配整个字符串)

$(函数(){
$('.example').highlightWithinTextarea({
突出显示:/(?:\[{2}(?!\[+)(.+)(?:\]{2}(?!\[+)/g,
类名:“突出显示”
});
});
。示例{
宽度:500px;
高度:250px;
}
.亮点{
背景色:番茄;
}


这是周五要做的一件事。
非常感谢你的帮助,伙计!!非常感谢你的帮助!!