For various reasons, I need to put a (mostly) transparent
You can do this by hiding the overlay like this:
overlay.onclick = function(){
window.event.srcElement.style.visibility = "hidden";
var BottomElement = document.elementFromPoint((navigator.appName.substring(0,3) == "Net") ? e.clientX : window.event.x,(navigator.appName.substring(0,3) == "Net") ? e.clientY : window.event.y);
window.event.srcElement.style.visibility = "visible";
BottomElement.click();
}
Use this jQuery
$("div").click(function(e){e.preventDefault();});
replace "div" with the ID or element
Alternative for disabling all events(or chick) on a div is unbind() all event that are attached with tags by default
$('#myDivId').unbind();
or
$('#myDivId').unbind("click");
It can be done using CSS pointer-events. This property is supported in Firefox 3.6+, Chrome 2+, IE 11+, and Safari 4+. Unfortunately, I don't have knowledge of a cross-browser workaround.
#overlay {
pointer-events: none;
}
It can be done by refiring the event after you temporarily hide the overlay.
See the first answer to this question: HTML "overlay" which allows clicks to fall through to elements behind it