15

私が持っているとしましょう:

<div></div>

と:

div {
    width: 500px;
    height: 500px;
    position: relative;
}
div:after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    right: 0;
}

のようなことはできます$('div:after').click(function(){...});か? をクリックしているのにをクリックしていない場合は起動しdivませんdiv:after

4

1 に答える 1

8

多分。疑似コンテンツの構造によっては、実際の div をクリックするためのマウス位置の計算に依存する必要があります。イベント ハンドラーはすべて、DOM に存在しないため、疑似要素ではなく div に移動します。

詳細については、jQuery を使用した CSS の :before および :after 疑似要素の操作 を参照してください。特にBoltClockの答え。

マウス位置のない別の可能な解決策については、Felix のコメントも参照してください:疑似要素のクリック イベントのみを検出する

于 2013-03-29T16:51:59.163 に答える