[improvement] check event.cancelable before preventDefault

This commit is contained in:
陈嘉涵
2019-05-10 14:18:46 +08:00
parent 2fb4bd3090
commit 4119b5b3c7
15 changed files with 43 additions and 33 deletions

View File

@@ -41,10 +41,17 @@ export function off(target: HTMLElement, event: string, handler: EventHanlder) {
}
}
export function stop(event: Event) {
export function stopPropagation(event: Event) {
event.stopPropagation();
}
export function prevent(event: Event) {
event.preventDefault();
export function preventDefault(event: Event, isStopPropagation?: boolean) {
/* istanbul ignore else */
if (typeof event.cancelable !== 'boolean' || event.cancelable) {
event.preventDefault();
}
if (isStopPropagation) {
stopPropagation(event);
}
}