我有三个元素叠在一起,每个元素都包含一些透明度。中间没有透明度,只是边缘。我希望能够在背景中单击div,但是因为通向最前面div的边缘的透明空间位于其上方,所以最前面的div的click事件会触发。我无法禁用它或显然使用stopPropegation(),因为前面的那个仍然需要可点击。
是否有任何解决方案可以检测透明空间并将其与不透明空间区分开来?谢谢!
答案 0 :(得分:1)
这可能不起作用,但我能想到的最好 - 它假设后面的div是前div的孩子:
$('div').click(function() {
if($(this).css('opacity') != 1) {
//it's transparent
$(this).children('div').click();
}
});
//mouse coordinates
$('div#innerDiv').click(function(e) {
var x = e.pageX;
var y = e.pageY
});