0

我将三个元素层叠在一起,每个元素都包含一些透明度。中间没有透明度,只有边缘。我希望能够单击背景中的 div,但是因为通向最前面 div 边缘的透明空间在它上方,所以最前面 div 的单击事件会触发。我不能禁用它或使用 stopPropegation() 显然,因为前面的那个仍然需要可点击。

是否有任何解决方案可以检测透明空间并将其与不透明空间区分开来?谢谢!

4

1 回答 1

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
    });
于 2013-04-23T23:37:12.207 回答