Javascript AngularJs中的MouseEnter vs MouseOver
我在玩AngularJS鼠标事件时遇到了一个问题。我知道当鼠标进入一个元素的容器时,MouseEnter事件被激发,并且在MouseOver之后,所有子元素都被激发。 多亏了这个动画 然而,在我的例子中,MouseEnter事件从未被触发。我正在开发Angular PhoneCat应用程序(步骤10),并进行了以下修改:Javascript AngularJs中的MouseEnter vs MouseOver,javascript,html,angularjs,mouseevent,Javascript,Html,Angularjs,Mouseevent,我在玩AngularJS鼠标事件时遇到了一个问题。我知道当鼠标进入一个元素的容器时,MouseEnter事件被激发,并且在MouseOver之后,所有子元素都被激发。 多亏了这个动画 然而,在我的例子中,MouseEnter事件从未被触发。我正在开发Angular PhoneCat应用程序(步骤10),并进行了以下修改: Controllers.js:添加了记录鼠标事件的方法 phone details.html:添加了ng mouseenter和ng mouseleave处理程序 $scop
$scope.logMouseEvent=function(){
开关(事件类型){
案例“mouseenter”:
log(“嘿,鼠标输入”);
打破
案例“mouseleave”:
log(“鼠标不见了”);
打破
违约:
console.log(事件类型);
打破
}
-
Angular的ngMouseenter指令触发类型为mouseover的事件,如中所示
与ngMouseover的区别在于,它只在鼠标进入元素时触发一次,而不是在该元素内的每次移动之后
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
</head>
<body ng-app="">
<button ng-mouseenter="lastEventType=$event.type">
Enter
</button>
Event type: {{lastEventType}}
</body>
</html>
进入
事件类型:{lastEventType}
谢谢@audonex,但这正是我想理解的。为什么您的plunker从不显示mouseenter事件?如果两个事件都相同,那么为什么有两个事件用于相同的目的?@Rohit我认为这是一个事件,由两个不同的指令触发,用于两个不同的目的。应该有一个原因来解释鼠标的类型enter事件是mouseover,但目前我想不出任何事件。我认为没有什么需要理解的,只是接受它的方式。应该没有由此造成的限制。“在该元素内的每次移动之后”-这是不正确的,移动不会触发ng mouseover。在此处找到答案:在此处找到正确答案: