我正在尝试构建一个具有与单词搜索类似的功能的表单.
我有一个文本区域和一系列内容的div.当用户键入单词或句子时,与div内容匹配的单词以黄色突出显示,并且当删除或清空文本区域内容时,也会删除突出显示.
我制作的样本突出了单词,但没有完全突出显示.仅突出显示第一个字符.当我尝试搜索新单词时,之前突出显示的单词仍会突出显示.
HTML
<textarea id="my_ta" name="my_ta"></textarea>
<hr>
Similiar Words
<hr>
<div>
This is a serious question
</div>
<div>
Does this question ring a bell inside your head?
</div>
<div>
This question is a question about questions
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.highlight { background-color: yellow }
Run Code Online (Sandbox Code Playgroud)
JavaScript的
$(document).ready(function(){
$('#my_ta').keypress(function()
{
var value = $(this).val();
if(value)
{
$('div').highlight(value);
}
else
{
$('.highlight').removeHighlight();
}
});
});
Run Code Online (Sandbox Code Playgroud)
看一下这些文档,看起来你会很高兴
$(document).ready(function(){
$('#my_ta').on('input',function(){
$('div').removeHighlight().highlight($(this).val());
});
});
Run Code Online (Sandbox Code Playgroud)
使用input或keyup代替keypress.
http://jsfiddle.net/2vsgbmgz/3/