0

Webページに、いくつかの重複するhtmlテーブルがあります(cssスタイルを使用して設定position:absolute)。これらのテーブルの1つのセルには、clickイベントが定義されたdiv要素があります(を使用jquery)。

問題は次のとおりです。div要素が別の重複するテーブルの空のセルで覆われている場合、div要素はクリックイベントを受信しなくなります。これを実現するための条件の1つは、カバーされるdivをカバーするテーブルの前にDOM構造で設定する必要があることです。

より良い例については、このjsfiddleを参照してください。ご覧のとおり、赤い要素はクリックイベントを受信しなくなりました(青い要素を含むテーブルの一番上の空のセルで覆われているため)。

このようなページがあるのは奇妙に聞こえるかもしれませんが、その理由は、実際のアプリケーションではこれらのテーブルがui-draggable(したがって重複する可能性があり)、テーブル構造が小さな組織図を表示するために使用されるためです。

ノート :

問題を解決するために、テーブルの位置を交換しDOMたり、テーブルの1つに追加したりすることはできませんz-index。前述のように、テーブルはドラッグ可能であり(を使用jquery-ui)、ユーザーは状況を変更できます(青は赤と重なるか、赤は青と重なる可能性があります)。

4

1 に答える 1

3

HTMLを変更せずにCSSでこれを行う唯一の方法はpointer-events:none;、重複するテーブルに設定してから、pointer-events: all;青色の特定のTDに設定することです。

このフィドルを参照してください。

于 2012-11-13T14:41:41.137 に答える