文本解析,然后在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;
}
.亮点{
背景色:番茄;
}
这是周五要做的一件事。
非常感谢你的帮助,伙计!!非常感谢你的帮助!!