我正在尝试突出显示搜索表单中#
字符后的所有文本。
我想获得一种效果,在突出显示文本之前,先按空格键。
// Detects hashtag keypress and highlights word
$('#nav-search').on('keydown',function(e){
// console.log(e.which)
// 163 == '#'
if(e.which==163){
console.log('# Pressed')
}
});
我正在使用keydown
事件来检测#
符号作为输入。
下面以粗体突出显示效果示例。
例如“这是一个 #test #search 查询”
答案 0 :(得分:2)
为此,您应该使用replace
。将此添加到您的keydown
处理程序中:
$(this).val($(this).val().replace(/(?!<strong>)(#.*?)\s/g, "<strong>$1</strong>"));
regex匹配并捕获#号标签(或octothorp)以及其后的所有非空白字符,然后将它们括在<strong>
标记中。