javascript - Angular 悬停 + 按键事件

标签 javascript html angularjs

我粘贴此示例代码,它监听 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/

相关文章:

javascript - jQuery 下拉菜单动画

Javascript Websocket 监听端口 80

javascript - 单击按钮增加计数,同时减少另一个计数,反之亦然,无需重置为默认分数

angularjs - 在 AngularJS E2E 测试中使用 element().offset()

javascript - 如何从 NodeJS 中的模块返回数组

javascript - 获取索引Azure搜索失败 'Response for preflight has invalid HTTP status code 403'

javascript - 使用 SoundJS 离开网页会导致 Google Chrome 崩溃

html - Safari 将我网站中的文本居中,而 Firefox、IE 将其左对齐。轻松修复?

javascript - 第二次单击时清除/取消选择单选按钮

javascript - Protractor :非 Angular 登录到 Angular 站点