use prevent default in event handlers as it is considered to be a better pattern