improved eventHandler.ts
This commit is contained in:
@@ -14,23 +14,26 @@ const eventHandler = {
|
|||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let el = document.querySelector(target);
|
let items = document.querySelectorAll(target);
|
||||||
if (!el) {
|
if (!items) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
el.addEventListener(eventType, function (e) {
|
items.forEach(el => {
|
||||||
let element = e.target as HTMLElement;
|
el.addEventListener(eventType, function (e) {
|
||||||
if (element === this && selector === target) {
|
let element = e.target as HTMLElement;
|
||||||
callback.call(element, e);
|
if (element === this && selector === target) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (; element && element != this; element = element.parentElement) {
|
|
||||||
if (typeof selector === "string" && element.matches(selector)) {
|
|
||||||
callback.call(element, e);
|
callback.call(element, e);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
}
|
for (; element && element != this; element = element.parentElement) {
|
||||||
});
|
if (typeof selector === "string" && element.matches(selector)) {
|
||||||
|
callback.call(element, e);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
remove: function (element: target, eventType: string, callback: callback) {
|
remove: function (element: target, eventType: string, callback: callback) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user