我想实现一个原始的吸管功能,其中可以在具有背景颜色的div上单击吸管光标,并通过使用jQuery读取CSS样式来拉动此颜色。但是如果div的边框被点击并且它是一种不同的颜色呢?我该如何拉出那种颜色?我在点击事件中没有看到任何告诉我边框被点击而不是内容的内容。
有没有办法感知边框点击,而无需计算边界所在的所有数学以及点击是否在该区域?
感谢任何想法。
答案 0 :(得分:6)
有没有办法感知边框点击,没有经过计算边框位置的所有数学计算以及点击是否在该区域?
简短回答:不,不是没有经过数学计算。
原因是,border不是元素,它们是DOM元素的一部分,并且没有自己独立的事件处理程序。
但是,为了达到你想要的效果,你似乎至少需要这些成分:
.offset()
,.innerWidth()
,innerHeight()
,4个边框宽度经.css()
,event.pageX()
和event.pageY
演示:http://jsfiddle.net/terryyounghk/YvFQX/
熟悉盒子模型将有助于大量的思维过程,以及制定良好的代码策略。