javascript - AngularJS - 在 ng-init=true 时触发一个函数

标签 javascript css angularjs

您好,我有以下代码:

html:

<div class="portlet-titlebar"
  ng-click="toggleCollapsed(portlet, $event)"
  ng-class="{current: hover}"
  ng-init="hover = false"
  ng-mouseenter="hover = hoverIn()"
  ng-mouseleave="hover = false">
  <span class="arrow">
    <svg height="20" viewBox="0 0 32 32" width="20"><path d="M16.7 11.3c-0.4-0.4-1-0.4-1.4 0l-9 9c-0.4 0.4-0.4 1 0 1.4 0.4 0.4 1 0.4 1.4 0L16 13.4l8.3 8.3c0.4 0.4 1 0.4 1.4 0 0.4-0.4 0.4-1 0-1.4L16.7 11.3z" fill="#121313"/></svg>
  </span>
  <span class="titlebar-text" title="{{portlet.title}}">{{portlet.title}}</span>
</div>

在 angularJS 指令中:

scope.hoverIn = function(){
    if(event.ctrlKey){
        return true;
    }
    return false;
}

我在样式上使用了 less,所以在我的 less 文件中有:

.current{
    border: 1px solid red;
}

现在我要做的是:在鼠标悬停 + 按下 crtl 键时,我想将 span class="arrow"图标更改为另一个图标,然后单击该图标(同时仍按下 ctrl)开火另一个功能。任何人都知道最好的方法是什么,因为我试图像这样处理悬停,但它没有用:

document.element.getElementsByClassName('portlet-titlebar').hover(function () {
    $(this).toggleClass('current');
});
$(document).keypress(function (e) {
    if (e.which == 17) {
        $('.current').remove();
    }
});

但由于某些原因它不起作用..

最佳答案

你有 javascript 事件 .onmouseover,我认为它会完成工作

关于javascript - AngularJS - 在 ng-init=true 时触发一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46471000/

相关文章:

css - 当单元格内容非常小时,表格单元格垂直对齐的奇怪行为

angularjs - 如何动态改变输入值

javascript - 具有 ID 属性的动态 DOM 对象的 IE9 内存泄漏

javascript - chrome.storage.local 获取返回 'undefined'

javascript - 是否可以在特定条件下注册点击事件?

javascript - Angular 1 无法将模块/ Controller 文件加载到 View /html 中

css - 隐藏 ionic ionic 选项按钮

javascript - 带有偏移量的 Canvas createPattern() 和 fill()

javascript - 检测元素是否已通过 javascript 调整大小?

html - 使用 CSS 定位 HTML 按钮