handleClick() {
if (!this.state.active) {
// attach/remove event handler
document.addEventListener('click', this.handleOutsideClick, false);
} else {
document.removeEventListener('click', this.handleOutsideClick, false);
}
this.setState(prevState => ({
active: !prevState.active,
}));
}
handleOutsideClick(e) {
// ignore clicks on the component itself
console.log('EVENT handleOutsideClick ', e)
if (this.node.contains(e.target)) {
return;
}
this.handleClick();
}
ref={node => { this.node = node; }}
<li className='notif_container' ref={node => { this.node = node; }}>
{this.button()}
</li>
<a href="//google.com" onclick="return false">google</a>
<a href="//google.com">google</a>
<script>
document.getElementsByTagName('a')[0].onclick = function() {
return false;
}
</script>
let images = document.body.querySelectorAll(`img`);
document.addEventListener(`keydown`, event => {
let index = +String.fromCharCode(event.which) - 1;
if (index < 5) {
images[index].style.display = `block`;
}
}, false);