我有一個我正在Apache Cordova和AngularJS中編寫的謎題應用程序。拼圖由一個網格組成,每個網格廣場有多個「燈光」。在AngularJS中更改多個元素的類
當鼠標懸停燈一個,某些區域會亮起。我在標準的jQuery中工作得很好,並且綁定了類的mouseover事件,但是我正努力讓它在AngularJS中工作。我可以在項目中包含完整的jQuery - 但感覺就像是作弊。
到目前爲止,我有以下指令: -
app.directive('etkHighlight', function() {
return {
link: function (scope, element, attr) {
element.on("mouseenter", function() {
var id = attr.cage;
var el = angular.element(document).find(id);
el.addClass("etk-light-on");
console.log("enter")
})
element.on("mouseleave", function() {
var id = attr.cage;
console.log("enter")
})
}
}
});
與HTML看起來像: -
<div class="box">
<div class="etk-key" id="cage-t">T</div>
<div class="etk-light etk-base-left etk-light-off" data-cage="cage-k" etk-Highlight>k</div>
<div class="etk-light etk-base-right etk-light-off" data-cage="cage-m" etk-Highlight>m</div>
</div>
我得到我需要改變類確定對象的ID,並el是填充東西,但addClass未能真正添加類。
我在做什麼錯?這是否是正確的方法來解決這個問題?理想情況下,我希望我可以用來管理所有燈光的鼠標懸停的類更改。
Plnkr: - http://plnkr.co/edit/JjwucC3HECN9Mmm4S3Ib NB僅標記的1-燈,頂部排鉀& m的設置爲使用我已經意識到我沒有定義的問題非常清楚的指令
UPDATE。例如,當我將鼠標懸停在標記爲'l'的燈上時,我想要更改該燈的類別以及發現的右側和下方的'L'正方形...。
你可以添加一個演示? – RRK
添加類元素?你不能使用ng-class =「{'class':result/expresion}」,比如ng-class =「{'green':item = 1}」 – MrNew