我正在尝试检测圆圈上的鼠标悬停事件。我这样定义圆形 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'});
});
这很好用,只是整个 80 像素乘 80 像素的区域都会触发鼠标悬停事件。换句话说,只要触摸 div 的右下角就会触发 mouseover 事件,即使鼠标不在可见的圆圈上。
是否有一种简单且 jquery 友好的方式仅在圆形区域触发 mouseover 事件?
更新:为了这个问题,让我们假设浏览器支持 CSS3 并正确呈现边框半径。有没有人有疯狂的数学/几何技能来提出一个简单的方程来检测鼠标是否进入了圆圈?为了更简单,让我们假设它是一个圆,而不是一个任意的边界半径。