From c485d9d1f3f9910915df1c2df7aa6d08f0f91f6e Mon Sep 17 00:00:00 2001 From: Handle Date: Wed, 15 Jul 2020 11:49:18 +0800 Subject: [PATCH] Optimize language selector (#52) --- source/js/utils.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/source/js/utils.js b/source/js/utils.js index 92c5c58..3013c4a 100644 --- a/source/js/utils.js +++ b/source/js/utils.js @@ -222,14 +222,17 @@ NexT.utils = { }, registerLangSelect: function() { - let sel = document.querySelector('.lang-select'); - if (!sel) return; - sel.value = CONFIG.page.lang; - sel.addEventListener('change', () => { - let target = sel.options[sel.selectedIndex]; - document.querySelector('.lang-select-label span').innerText = target.text; - let url = target.dataset.href; - window.pjax ? window.pjax.loadUrl(url) : window.location.href = url; + const selects = document.querySelectorAll('.lang-select'); + selects.forEach(sel => { + sel.value = CONFIG.page.lang; + sel.addEventListener('change', () => { + const target = sel.options[sel.selectedIndex]; + document.querySelectorAll('.lang-select-label span').forEach(span => { + span.innerText = target.text; + }); + // Disable Pjax to force refresh translation of menu item + window.location.href = target.dataset.href; + }); }); },