サークルでマウスオーバーイベントを検出しようとしています。サークルdivを次のように定義します。
.circle {
width: 80px;
height: 80px;
-moz-border-radius: 40px;
-webkit-border-radius: 40px;
background-color: #33f;
}
次に、次のようにjQueryを使用してマウスオーバーを検出します。
$('.circle').mouseover(function() {
$(this).css({backgroundColor:'#f33'});
});
これは、80px x80pxの領域全体がマウスオーバーイベントをトリガーすることを除いて、うまく機能します。つまり、マウスが表示されている円の上にない場合でも、divの右下隅に触れるだけでマウスオーバーイベントがトリガーされます。
円形領域でのみマウスオーバーイベントをトリガーする簡単でjqueryに適した方法はありますか?
更新:この質問のために、ブラウザーがCSS3対応であり、境界半径を正しくレンダリングすると仮定しましょう。マウスが円に入ったかどうかを検出するための簡単な方程式を考え出すための狂った数学/幾何学のスキルを持っている人はいますか?さらに簡単にするために、それが円であり、任意の境界半径ではないと仮定しましょう。