Невозможно щелкнуть элемент Result из результатов поиска - PullRequest
0 голосов
/ 04 мая 2020

Я использую нефрит для отображения одной страницы с примерно 70 элементами в таблице, и у меня есть панель поиска для поиска элементов. Если я щелкаю элемент, я показываю детали в левой части этого элемента в элементе div. Этот поиск и проектирование выполняются в сценарии внутри jade. Но событие щелчка элемента и изменение данных о щелчке элемента выполняется с помощью кода jquery, который записан в другом файле js. Теперь впервые элементы кликабельны, чтобы видеть изменения кликов элемента. Но после выполнения поиска, если я нажимаю любой элемент, функция щелчка не вызывается. Но сценарий включен. Вот мой код, пожалуйста, проверьте

$('.icons-container .icons-item-container').on('click', function() {
var icon = JSON.parse($(this).attr('data-icon'));
console.log('icon ==', icon);
setIconDetail(icon);
$('.selected-icon').removeClass('selected-icon');
$(this).addClass('selected-icon');

});

function setIconDetail(icon) {
hljs.initHighlightingOnLoad();
iconData = icon;
var rightPanel = $('#right-panel');
rightPanel.find('h3').text(iconData.name);
rightPanel.find('#fileName').text(iconData.fileName);
if (iconData.description === '') {
    rightPanel.find('.desc-div').css('visibility', 'hidden');
} else {
    rightPanel.find('.desc-div').css('visibility', 'visible');
}
rightPanel.find('#description-content').text(iconData.description);
rightPanel
    .find('code')
    .html(
        '<svg>\n\t<use xlink:href="myicons.icons.svg#' +
        iconData.fileName +
        '">\n\t</use>\n</svg>'
    );
$('pre code').each(function(i, block) {
    hljs.highlightBlock(block);
});

}

и я написал, что я написал такой код

 const newData = data.filter(function (icon) {
                                    return icon.name.toLowerCase().includes(value.toLowerCase());
                                });
                                cleanTable();
                                const parentElement = document.getElementsByClassName('icons-container')[0];
                                buildTable(newData);
...