我目前正在研究搜索引擎(砌体+同位素+自定义代码如下)。我希望它只显示用户输入的整个单词或数字的精确匹配,除了通过divs类的搜索等(这个和其他一切工作正常)。如何修改此JS代码来搜索确切的整个单词/编号
当前状态: 当用户输入“1”时,包含例如“12”被显示太
期望的结果: 当用户输入显示“1”,将含有“1”结果仅 - 不含有象221号的段落中,111,12等
我会很感谢提供工作代码。
var qsRegex;
var buttonFilter;
var $grid = $('.grid').isotope({
itemSelector: '.element-item',
layoutMode: 'fitRows',
filter: function() {
var $this = $(this);
var searchResult = qsRegex ? $this.text().match(qsRegex) : true;
var buttonResult = buttonFilter ? $this.is(buttonFilter) : true;
return searchResult && buttonResult;
}
});
$('#filters').on('click', 'button', function() {
buttonFilter = $(this).attr('data-filter');
$grid.isotope();
});
var $quicksearch = $('#quicksearch').keyup(debounce(function() {
qsRegex = new RegExp($quicksearch.val(), 'gi');
$grid.isotope();
}));
$('.button-group').each(function(i, buttonGroup) {
var $buttonGroup = $(buttonGroup);
$buttonGroup.on('click', 'button', function() {
$buttonGroup.find('.is-checked').removeClass('is-checked');
$(this).addClass('is-checked');
});
});
function debounce(fn, threshold) {
var timeout;
return function debounced() {
if (timeout) {
clearTimeout(timeout);
}
function delayed() {
fn();
timeout = null;
}
setTimeout(delayed, threshold || 100);
};
}