您好,我有以下代码:
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/