如何,在mousedown
或上touchstart
,我可以得到鼠标相对于它发生的容器或元素的位置或在它发生的容器或元素内的位置。
所以,我知道我可以从事件pageX/Y
或clientX/Y
触摸中获取原始事件。但这是与整个视口相比的定位。这个 div 是绝对定位的,所以我怎样才能让它定位在其容器的边界内(绝对定位)。
所以这有效:http: //jsfiddle.net/Fb6An/
这是代码:
$('.dataCard').on('mousedown touchstart', function(event){
$(this).children('.ripple').show().css({'left':event.clientX || event.originalEvent.clientX, 'top':event.clientY || event.originalEvent.clientY});
});
除了它在我正在处理的整个网站上的某些元素中不起作用。在更靠近屏幕右边缘的元素上,它看起来比实际鼠标位置更靠右和更低。在左侧的元素中,它工作正常。
所以我想知道如何在元素中获得位置并在那里设置 .ripple 样式?