2016-07-16 8 views
0

Ich habe die folgende DirektiveBind Eingabefokus auf eine Funktion in der Steuerung

.directive('uiFocus', function() { 
    return function(scope) { 
    elem.bind('focus', function() { 
     scope.$apply(function() { 

     }); 
    }); 
    }; 
}) 

ich binden wollen den Fokus auf eine Funktion in der Steuerung

$scope.resetBorders = function() { 
    document.getElementById("main1").style.border = "none"; 
    document.getElementById("bk1").style.border = "none"; 
    document.getElementById("main2").style.border = "none"; 
    document.getElementById("bk2").style.border = "none";  
}; 

Ich versuchte resetBorders(), scope.resetBorders() and $scope.resetBorders() verwenden, aber es didn‘ t arbeiten.

Was soll ich hier verwenden? Gibt es einen "besseren" Weg?

Dank

+1

Ja! Verwenden Sie "ngStype" - manipulieren Sie das DOM NICHT so (https://docs.angularjs.org/api/ng/directive/ngStyle) Sie können den stype auch mithilfe einer Klasse anwenden und diese Klasse mit 'ngClass' –

+0

setzen Übergeben Sie "elem" als Argument in der Funktion "return". – Harish

Antwort

0
app.directive('uiFocus', function() { 
    return { 
    restrict: 'E', 
    templateUrl: 'yoururl/asd.html', 
    controller: function($scope) {}, 
    controllerAs: 'controllerAlias' 
    }; 
}); 
+2

Bitte fügen Sie Erklärung für Ihren Code hinzu – SilentMonk

+0

Diese Frage ist auf der niedrigen Qualität Post-Liste. Wenn dieser Code das Problem löst, wenn Sie Ihre Antwort erweitern und Kommentare hinzufügen, wie es funktioniert, werden Sie wahrscheinlich Stimmen bekommen. – lmo

Verwandte Themen