2017-09-28 14 views
0

の機能こんにちは、私は次のコードを持っている:AngularJS - 火災NG-INIT =真

HTML:angularJSディレクティブ内部

<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> 

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

を私が使用していますスタイリングのために少ないので、私の少ないファイルの中に私が持っている:

.current{ 
    border: 1px solid red; 
} 

私は何をしようとしています:mouseover + crtlキーを押したときに、スパンクラス= "矢印"アイコンを別のアイコンに変更してから、アイコンをクリックします(Ctrlキーがまだ押されている間) 。

答えて

1

に..あなたを

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

が、それは動作しません何らかの理由:私はそうのようなホバーを処理しようとしたとして、誰もが、これに最善のアプローチは何か知っているが、それはうまくいきませんでしたJavaScriptのイベントがある.onmouseover、私はそれが仕事をすると思います