properly handle click enter, clicking element, and ctrl+clicking element