2016-05-15 54 views
2

我正在使用angular指令中的javascript更改按鈕組的按鈕類。從angularjs中更新dom javascript從

我的更新正確。但是這個改變並沒有反映在屏幕上,直到我點擊頁面中的某個地方。

angular.module('test', []). 
directive('selected', function() { 
    return { 
    link: selectedLinker, 
    restrict: 'A', 
    replace: false 
    } 

    function selectedLinker(scope, element, attribute) { 
    var groupname = attribute.selected; 
    groupname = 'groupname'; 
    element.bind('click', function() { 
     var elements = document.querySelectorAll('[selected=' + groupname + ']'); 
     for(var i=0; i<elements.length; i++) { 
     var item = elements[i]; 
     item.classList.remove('selected'); 
     } 
     this.classList.add('selected'); 
     //element.addClass('selected'); 
    }) 
    } 
}); 

我在這裏錯過了什麼。我不想使用jquery。謝謝。

Pluker Link

+1

與角度無關......與bootstrap':focus'css選擇器有關。檢查瀏覽器開發工具中的元素並查看應用的css規則...將看到':focus'選擇器作爲'.selected'的相同規則的一部分 – charlietfl

+0

謝謝。我得到了它的工作。 – jsbisht

回答

1

嘗試添加這對你的CSS:

.btn:focus { 
     background-color: inherit !important; 
     color: inherit !important; 
    } 
1

this.classList.add('selected');後添加this.blur()在您的指導的鏈接功能來清除被應用引導CSS屬性,由於按鈕焦點對準。