-6ren">
gpt4 book ai didi

javascript - 如何排除从它的子元素中冒出的事件?

转载 作者:行者123 更新时间:2023-11-29 10:33:02 25 4
gpt4 key购买 nike

<div id="wrapper">
<div>
<div id="a">"hahah"</div>
</div>
</div>

#wrapper {
padding-left:100px;
}

$('#wrapper').on('mousemove', (e)=>{

console.log(e.offsetX);
})

例如,当鼠标从左到右移动到元素 div#a 上时,控制台将打印 0,但我想要的是控制台应根据其父元素 div#wrapper 打印 100。

最佳答案

获取event.pageX属性获取基于整个文档的相对位置。

console.log(e.pageX);

$('#wrapper').on('mousemove', (e) => {
console.log(e.pageX);
})
#wrapper {
padding-left:100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="wrapper">
<div>
<div id="a">"hahah"</div>
</div>
</div>


更新:要获取 div 中的位置,请从水平位置减去其偏移量。

$('#wrapper').on('mousemove', (e) => {
console.log(e.pageX - $('#wrapper').offset().left);
})

var $wrapper = $('#wrapper');
$wrapper.on('mousemove', (e) => {
console.log(e.pageX - $wrapper.offset().left);
})
#wrapper {
padding-left: 100px;
margin-left:100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="wrapper">
<div>
<div id="a">"hahah"</div>
</div>
</div>

关于javascript - 如何排除从它的子元素中冒出的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41711173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com