При попытке проверить, существует ли функция, вы пишете:
event.stopPropagation() ? event.stopPropagation() : (event.cancelBubble = true);
Давайте проанализируем это. event.stopPropagation()
- это вызов event.stopPropagation
без параметров, он ничего не возвращает, что означает undefined
. Таким образом, вы столкнетесь с одной проблемой:
если stopPropagation
не существует, вы все равно звоните. Выдает ошибку, вот что происходит в вашем случае.
Чтобы избежать этой проблемы, вы должны проверить, существует функция или нет:
event.stopPropagation ? event.stopPropagation() : (even.cancelBubble = true);
Должно работать правильно. То же самое с preventDefault
.