簡體   English   中英

jQuery mousemove相對於bubbled事件上的listen元素的偏移量

[英]jQuery mousemove offset relative to listening element on bubbled event

如果我讓jQuery在“外部”元素上偵聽mousemove事件,則當鼠標位於該內部元素內且事件冒泡到處理程序時, offsetXoffsetY值將相對於“內部”元素給出偏移量。

我怎樣才能始終獲得相對於處理程序所附加元素的偏移量?

示例: http//jsfiddle.net/00mo3eeu/

HTML

<div class="outer">
    <div class="inner"></div>
</div>

CSS

.outer {
    background: red;
    width: 300px;
    height: 400px;
    margin: 40px;
}

.inner {
    background: blue;
    width: 100px;
    height: 150px;
    margin: 70px;
    display: inline-block;
}

JS

$('.outer').mousemove(function(e) {
    console.log([e.offsetY, e.offsetX]);
});

更新:如果不清楚,即使在藍色框http://jsfiddle.net/00mo3eeu/1/中也可以點到指針

這是我目前的解決方案,我歡迎任何改進它的建議。

function (e) {
  var y = e.pageY - $(e.currentTarget).offset().top
  var x = e.pageX - $(e.currentTarget).offset().left
  ...
}

理想情況下,這將作為事件對象的一個​​屬性給出,但我找不到匹配的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM