With display: none it is still part of the DOM. It just isn’t rendered in the viewport.
As for clicks on elements with visibility: hidden, the events are not fired.
jsFiddle.
$('div').click(function() {
alert('Hello')
});
div {
width: 100%;
height: 100%;
visibility: hidden;
}
<div>abc</div>