gpt4 book ai didi

javascript - MouseLeave触发 Electron 中的子元素

转载 作者:行者123 更新时间:2023-12-03 12:35:52 24 4
gpt4 key购买 nike

我正在使用以下HTML模板和脚本处理鼠标悬停事件。我的应用是使用AngularJS编写的,并托管在Electron中。

HTML:

<div id="controlArea" 
(mouseenter) = "onControlAreaEnter()"
(mouseleave) = "onControlAreaLeave($event)">
<div id="moveArea" *ngIf="controlsVisible">
<img src="assets/Icons/move.png" height="32" width="32"/>
</div>
</div>

typescript :
 onControlAreaEnter(){
this.controlsVisible = true;
}
onControlAreaLeave(event){
this.controlsVisible = false;
}

当我通过Chrome浏览器查看应用程序时,仅当我离开controlArea div时才会触发。但是,当我将应用程序放入 Electron 菜单时,将鼠标悬停在子div元素上时,mouseleave被触发。有什么方法可以防止在Electron中发生这种情况?

最佳答案

使用当前的变通办法来滤除请假事件在controlArea内部发生时。但是,这并不能解释为什么在Electron的子元素上发生离开事件。

 onControlAreaLeave(event){
// Check to see if we went to a child element
// Only need this because of Electron otherwise it works fine in browsers
if (event.clientX > 4 &&
event.clientX < window.innerWidth &&
event.clientY > 4 &&
event.clientY < this.controlArea.nativeElement.offsetHeight) {
return;
}

this.controlsVisible = false;
}

关于javascript - MouseLeave触发 Electron 中的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46956745/

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