Универсальная функция не должна ничего знать про события.
События нужно отменять в обработчиках. Если ваша функция и есть обработчик, в неё первым аргументом придёт объект события и вы сможете сделать что нужно. Если ваша функция вызывается внутри обработчика, то там и отменяйте действие по-умолчанию (aka см. пункт 1).
Чисто теоретически, можно закостылить - если ваша функция вызывается из обработчика, то в её области видимости есть-таки переменная с объектом события (если этот аргумент объявлен в обработчике) и можно перебирать часто используемые имена переменной (e, evt, event) и пытаться вызывать на них preventDefault() или
вот так.