Javascript 仅对新键入的文本进行筛选的键控文本筛选器?

Javascript 仅对新键入的文本进行筛选的键控文本筛选器?,javascript,jquery,Javascript,Jquery,我正在开发一个keyup函数,它根据的内容过滤div元素。当用户找到所需的div时,可以将其拖动到textarea中,并添加其文本。到目前为止,它还在工作,但只有当用户开始从一个空的文本区域键入时。如果文本区域中已经存在内容,并且用户希望向其中添加更多内容,则过滤器将无法工作,因为它会尝试过滤所有文本。我想修改函数,只过滤新键入的文本。例如,如果textarea已经包含“Some random text”;并且用户开始在分号“Some random text;(new text)”后键入,我只希

我正在开发一个keyup函数,它根据
的内容过滤div元素。当用户找到所需的div时,可以将其拖动到textarea中,并添加其文本。到目前为止,它还在工作,但只有当用户开始从一个空的文本区域键入时。如果文本区域中已经存在内容,并且用户希望向其中添加更多内容,则过滤器将无法工作,因为它会尝试过滤所有文本。我想修改函数,只过滤新键入的文本。例如,如果textarea已经包含“Some random text”;并且用户开始在分号“Some random text;(new text)”后键入,我只希望它过滤(new text)。这可能吗

我的过滤器:

$(function () {
    $('#modalTextArea').keyup(function () {
        var filter = $(this).val(),
        count = 0;
        $('#modalJobList div').each(function () {
            if ($(this).text().search(new RegExp(filter, "i")) < 0) {
                $(this).hide();
            } else {
                $(this).show();
                count++;
            }
        });
    });
});
$(函数(){
$('#modalTextArea').keyup(函数(){
var filter=$(this.val(),
计数=0;
$('#modalJobList div')。每个(函数(){
if($(this.text().search)(新的RegExp(filter,“i”))<0){
$(this.hide();
}否则{
$(this.show();
计数++;
}
});
});
});
正在筛选我的div中继器:

<div id='modalJobList' class="board-list">
    <asp:Repeater ID="modalJobRepeater" runat="server">
        <ItemTemplate>
            <div id='modalCardJob<%# string.Format("{0}", Eval("Job"))%>' class="card" draggable="true" ondragstart="dragStart(event)" data-appendto="job">
                <p><%# string.Format("{0}", Eval("Job")) + " - " + string.Format("{0}", Eval("Description"))%></p>
            </div>
        </ItemTemplate>
    </asp:Repeater>
</div>


我的文本区:

<textarea id="modalTextArea" data-boxtype="modalText" ondrop="dropIt(event)"></textarea>

我建议在键入时将字母存储在一个数组中。然后在键入时检查数组的当前计数,并避免在此之前的所有字母。如果可能的话