javascript - 在同位素中以任何顺序匹配单词(使用输入值)

标签 javascript input jquery-isotope

我将 Isotope.js 与 Vanilla javascript 一起使用。
在我的元素里面,我放了一个 divdisplay:none隐藏每个项目的关键字。例如,橙色项目具有关键字“颜色”和“水果”。因此,如果有人在输入表单(橙色、颜色或水果)中输入这三个单词中的任何一个,则该项目将通过 Isotope 显示。
Here is a jsfiddle showing my project .
我想要做的是,如果有人将所有三个单词都输入到输入表单 以任意顺序该项目将显示。现在,该项目仅在按顺序键入关键字时才会显示。例如,输入“fruit color”将显示项目 Orange,但“color fruit”不会。
编辑: This answer here正是我想要实现的目标。我将它应用到我的项目的 jQuery 版本中并且运行良好。但是,我在 vanilla JS 中重写它时遇到了麻烦。非常感谢任何帮助。

最佳答案

您可以尝试更改以下内容吗,我已将正则表达式删除为字符串

filter: function(itemElem) {
    return qsRegex ? itemElem.textContent.indexOf(qsRegex) !== -1 : true;
}

var quicksearch = document.querySelector('input[type="text"]');
quicksearch.addEventListener('input', function() {
     // match items by first letter only
     qsRegex = quicksearch.value; // Changed here
     iso.arrange();
});

关于javascript - 在同位素中以任何顺序匹配单词(使用输入值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64981754/

相关文章:

c - 在 C 中的 EOF 之后执行

jquery - 最大的项目始终首先显示在同位素中

javascript - 在 first 完成后执行 jQuery 函数

javascript - 在某个点暂停滚动片刻

javascript - 谷歌浏览器检查器 : How to edit an Object on a break point?

java - caretPositionChanged() 方法没有反应

javascript - 如何连接字符串和变量以在 JavaScript 中创建新变量?

html - 仅引用复选框的标签选择器

responsive-design - 同位素和媒体查询

javascript - 显示同位素图像所需的建议加载更多功能