确定是否在其边框上单击了div

时间:2013-04-23 06:42:16

标签: jquery

我想实现一个原始的吸管功能,其中可以在具有背景颜色的div上单击吸管光标,并通过使用jQuery读取CSS样式来拉动此颜色。但是如果div的边框被点击并且它是一种不同的颜色呢?我该如何拉出那种颜色?我在点击事件中没有看到任何告诉我边框被点击而不是内容的内容。

有没有办法感知边框点击,而无需计算边界所在的所有数学以及点击是否在该区域?

感谢任何想法。

1 个答案:

答案 0 :(得分:6)

  

有没有办法感知边框点击,没有经过计算边框位置的所有数学计算以及点击是否在该区域?

简短回答:不,不是没有经过数学计算。

原因是,border不是元素,它们是DOM元素的一部分,并且没有自己独立的事件处理程序。

但是,为了达到你想要的效果,你似乎至少需要这些成分:

.offset().innerWidth()innerHeight(),4个边框宽度经.css()event.pageX()event.pageY

演示:http://jsfiddle.net/terryyounghk/YvFQX/

熟悉盒子模型将有助于大量的思维过程,以及制定良好的代码策略。

参考:http://www.w3.org/TR/CSS2/box.html