mirror of
https://github.com/stevenjoezhang/live2d-widget.git
synced 2024-11-21 20:24:19 +08:00
Optimize mouseover & click callback
This commit is contained in:
parent
ff687ea3de
commit
ae27493c29
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user