我粘贴此示例代码,它监听 mouseenter
事件,并在 mouseenter
上检查是否按下了 Ctrl
键。如果是,它会将一些类应用于当前目标,这可以正常工作,但前提是在 mouseenter
事件之前按下 Ctrl
键。在首先按下 mouseenter
然后按下 Ctrl
键的情况下,我必须更改什么才能发生同样的事情?
html:
<div ng-mouseenter="hoverIn($event)" ng-mouseleave="hoverOut($event)"> Some content </div>
Controller .js:
function hoverIn(event){
if((event.ctrlKey || event.metaKey)){
angular.element(event.currentTarget).addClass('current-element');
}
}
最佳答案
我知道这已经很老了,但我想解决它,以防其他人遇到它。
更改代码以使用 ng-mousemove 将会得到你想要的。然后在代码中处理正确和错误的可能性。
HTML:
<div ng-mousemove="mouseHover($event)"> Some content </div>
JavaScript:
scope.mouseHover = function ($event) {
if ($event && $event.ctrlKey) {
angular.element($event.currentTarget).addClass('actionCursor');
}
else {
angular.element($event.currentTarget).removeClass('actionCursor');
}
}
关于javascript - Angular 悬停 + 按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47474635/