And*_*rew 4 html javascript css jquery border
我有一个div,其中包含大量文本.我的问题是,是否有可能检测到div边框上的点击?
我想要完成的是如果用户点击底部边框(使用CSS设置4px宽的样式),div会一直滚动到底部.如果不添加更多标记,这是否可行?
你可以试试这个:
$('div').click(function(e){
if(e.offsetY >$(this).outerHeight() - 4){
alert('clicked on the bottom border!');
}
});
Run Code Online (Sandbox Code Playgroud)
在.outerHeight()刚刚返回的内容(包括边界)的高度.在e.offsetY返回点击Y量相对于元素.注意outerHeight,如果传递bool true参数,它将包含margin在计算值中,默认值为false,所以它只返回content height + padding + border.
更新:看起来FireFox有自己的行为方式.您可以看到,单击时,将鼠标按住元素,知道相对于元素的单击点的坐标是非常自然和方便的.不过貌似我们没有方便的方法来获得所谓的火狐,协调,因为e.offsetX与e.offsetY根本不工作(没有任何价值).相反,你必须使用pageX,并pageY减去.offset().left并.offset().top 分别获得相对于元素的坐标.