fixed bug

This commit is contained in:
Vaica committed 2026-01-31 21:27:06 +08:00
1 parent 54b18039e3
commit 8c3232fadf
16 files changed
+1134 -97

No files matched your search

+49 -3
View File
@@ -121,12 +121,24 @@ function initInlineSearch() {
searchContainer.style.display = 'block';
input.focus();
loadSearchIndex();
// Add Esc key listener
document.addEventListener('keydown', escListener);
} else {
header.style.display = 'inline-flex';
searchContainer.style.display = 'none';
input.value = '';
// Remove .has-value class
searchContainer.querySelector('.search-input-group').classList.remove('has-value');
resultsContainer.classList.remove('show');
resultsContainer.innerHTML = '';
// Remove Esc key listener
document.removeEventListener('keydown', escListener);
}
};
var escListener = function(e) {
if (e.key === 'Escape') {
window.toggleSearchMode(false);
}
};
@@ -137,8 +149,41 @@ function initInlineSearch() {
input.parentNode.replaceChild(newInput, input);
input = newInput;
// Handle Close Icon Logic
var closeIcon = searchContainer.querySelector('.close-icon');
if (closeIcon) {
// Remove inline onclick handler if present
closeIcon.onclick = null;
closeIcon.removeAttribute('onclick');
// Add new custom handler
closeIcon.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
if (input.value.trim().length > 0) {
// Clear input
input.value = '';
input.focus();
// Trigger input event to update UI
input.dispatchEvent(new Event('input'));
} else {
// Close search
window.toggleSearchMode(false);
}
});
}
input.addEventListener('input', function() {
var query = this.value.trim().toLowerCase();
var inputGroup = this.closest('.search-input-group');
// Toggle has-value class
if (this.value.length > 0) {
inputGroup.classList.add('has-value');
} else {
inputGroup.classList.remove('has-value');
}
if (query.length === 0) {
resultsContainer.classList.remove('show');
@@ -156,10 +201,11 @@ function initInlineSearch() {
if (results.length > 0) {
var html = results.slice(0, 5).map(function(item) {
return `
<a href="${item.permalink}" class="search-result-item" style="display:block; text-decoration:none;" onclick="window.toggleSearchMode(false)">
<a href="${item.permalink}" class="search-result-item" onclick="window.toggleSearchMode(false)">
<span class="search-result-title">${item.title}</span>
<div style="display:flex; align-items:center;">
<div class="search-result-meta">
<span class="search-result-date">${item.date}</span>
<span class="search-result-summary-text">${item.summary || ''}</span>
</div>
</a>
`;
@@ -173,7 +219,7 @@ function initInlineSearch() {
window.pjax.refresh(resultsContainer);
}
} else {
resultsContainer.innerHTML = '<div class="search-result-item" style="text-align:center;color:#999;cursor:default;">无搜索结果</div>';
resultsContainer.innerHTML = '<div class="search-result-item no-result">暂无相关内容</div>';
resultsContainer.classList.add('show');
}
});