0

3 つの要素が重なり合っており、それぞれにある程度の透明度が含まれています。中央は透明ではなく、エッジの周りだけです。バックグラウンドで 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 に答える