我正在尝试突出显示搜索表单中 #
字符后面的所有文本。
我想实现这样的效果:文本突出显示,直到按下空格键。
// 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查询”
最佳答案
您应该使用replace
为了这。将此添加到您的 keydown
处理程序:
$(this).val($(this).val().replace(/(?!<strong>)(#.*?)\s/g, "<strong>$1</strong>"));
正则表达式匹配并捕获主题标签(或 octothorp)以及其后的所有非空白字符,然后将它们包含在 <strong>
中。标签。
关于javascript - 如何突出显示按键事件后的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56991148/