From c2114f91228d5bd215bfbbba40349b18ed2a7acd Mon Sep 17 00:00:00 2001 From: zhangtq <2452618307@qq.com> Date: Tue, 21 Jan 2025 10:12:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E7=A9=BA=E6=A0=BC=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main.js b/src/main.js index c36d285..3a18d49 100644 --- a/src/main.js +++ b/src/main.js @@ -83,19 +83,18 @@ Vue.directive('no-whitespace', { const input = el.querySelector('input') || el.querySelector('textarea'); if (!input) return; - input.addEventListener('input', (event) => { + const handleInput = (event) => { const value = event.target.value.trim(); - if (value === '') { + if (value === '' || value.replace(/\s/g, '') === '') { + //设置event.target.value的值为undefined,为了触发v-model的更新 + input.removeEventListener('input', handleInput); event.target.value = ''; + input.dispatchEvent(new Event('input')); + input.addEventListener('input', handleInput); } - }); - - input.addEventListener('blur', (event) => { - const value = event.target.value.trim(); - if (value === '') { - event.target.value = ''; - } - }); + }; + input.addEventListener('input', handleInput); + input.addEventListener('blur', handleInput); } });