diff --git a/src/index.js b/src/index.js index cef62d3..b1f45f6 100755 --- a/src/index.js +++ b/src/index.js @@ -66,7 +66,8 @@ function loadWidget(config) { // 检测用户活动状态,并在空闲时显示消息 let userAction = false, userActionTimer, - messageArray = result.message.default; + messageArray = result.message.default, + lastHoverElement; window.addEventListener("mousemove", () => userAction = true); window.addEventListener("keydown", () => userAction = true); setInterval(() => { @@ -83,7 +84,9 @@ function loadWidget(config) { showMessage(welcomeMessage(result.time), 7000, 11); window.addEventListener("mouseover", event => { for (let { selector, text } of result.mouseover) { - if (!event.target.matches(selector)) continue; + if (!event.target.closest(selector)) continue; + if (lastHoverElement === selector) return; + lastHoverElement = selector; text = randomSelection(text); text = text.replace("{text}", event.target.innerText); showMessage(text, 4000, 8); @@ -92,7 +95,7 @@ function loadWidget(config) { }); window.addEventListener("click", event => { for (let { selector, text } of result.click) { - if (!event.target.matches(selector)) continue; + if (!event.target.closest(selector)) continue; text = randomSelection(text); text = text.replace("{text}", event.target.innerText); showMessage(text, 4000, 8);