无法让 MouseEnter(和类似命令)正常工作 [重复]

Posted

技术标签:

【中文标题】无法让 MouseEnter(和类似命令)正常工作 [重复]【英文标题】:Cannot get ngMouseEnter (& similar commands) to work properly [duplicate] 【发布时间】:2018-11-12 01:47:06 【问题描述】:

我在 Angular 6 上使用 Bootstrap 4,并且我有一个删除按钮,当鼠标进入按钮时应该会更改其图标。但是,我尝试了其中的几个 ng 函数(ngMouseOver、ngMouseUp 等),但都没有奏效。

代码如下:

component.html

<button type="delete" class="btn" (click)="delTr(tr)" ng- 
mouseenter="buttonHover()"><i class="ButtonIcon"></i></button>

component.ts

ButtonIcon: String = "far fa-trash-alt";

...

buttonHover()

  console.log("Mouse Enter works.") 
  this.ButtonIcon = "fas fa-trash-alt"
 

程序运行时控制台日志没有输出任何内容,所以方法buttonHover()没有被激活。

此外,“far fa-trash-alt”按钮图标也可以正常工作。 任何帮助将不胜感激。

【问题讨论】:

Look at angular-2-hover-event 【参考方案1】:

这就是 AngularJS 的方式——从你所说的来看,你使用的是 Angular(v6),所以你应该使用 Angular 的方式:

&lt;button type="delete" class="btn" (click)="delTr(tr)" (mouseenter)="buttonEnterHover()" (mouseleave)="buttonLeaveHover()"&gt; YourBtn &lt;/button&gt;

另一种选择是使用mouseover 事件:

&lt;button type="delete" class="btn" (click)="delTr(tr)" (mouseover)="buttonHover()"&gt; YourBtn &lt;/button&gt;

每种方法都有其优点和缺点,这里的文档可帮助您确定哪种方法最适合您。

MDN MouseEnter Docs MDN MouseOver Docs

【讨论】:

感谢您的帮助,我在 html 中完全忘记了方法名称周围的括号。

以上是关于无法让 MouseEnter(和类似命令)正常工作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery mouseout 停止播放?

Autofac SingleInstance无法正常工作

无法让 webViewDidStartLoad 和 webViewDidFinishLoad 正常工作

Jupyter 笔记本内核上的 CNTK 无法正常工作

无法让 UITableViewAutomaticDimension 正常工作

使用 DiscordJS 的音乐 Discord 机器人无法正常工作