我将 Isotope.js 与 Vanilla javascript 一起使用。
在我的元素里面,我放了一个 div
与 display: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/