這篇文章看起來像重複,但我認爲不是。現在您可以點擊Show box
並顯示紅色框,如果您想關閉此框,請點擊外部。打開/關閉div切換和點擊外部div
問題:如何再次單擊這個紅框Show box
除了點擊外部的文字。以及如何在點擊後更改CSS樣式點擊後改變字體大小Show box
var myApplication = angular.module('myApp', []);
myApplication.directive('hideLogin', function($document){
return {
restrict: 'A',
link: function(scope, elem, attr, ctrl) {
elem.bind('click', function(e) {
\t e.stopPropagation();
\t });
$document.bind('click', function() {
scope.$apply(attr.hideLogin);
})
}
}
});
myApplication.controller('hideContainer',function ($scope){
$scope.openLogin = function(){
$scope.userLogin = true;
\t };
$scope.hideLoginContainer = function(){
$scope.userLogin = false;
\t };
});
body {
position:relative;
}
.loginBox {
z-index:10;
background:red;
width:100px;
height:80px;
padding:10px;
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
<body ng-app="myApp" ng-controller="hideContainer">
<a href="#" ng-click="openLogin()" hide-login="hideLoginContainer()">Show box</a>
<div hide-login="hideLoginContainer()" class="loginBox" ng-show="userLogin" style="display:none;">
</div>
</body>
可以解釋爲什麼這個腳本可以在Angular 1.0.2上運行,但是在較新的版本或者例如角1.2.23? –
@ V.R會檢查出來。 –
@ V.R我已經在Angular 1.3x中檢查過它,它可以工作。我已經爲你製作了一個重磅炸彈:https://plnkr.co/edit/UX7eGy0DwmoS3FdXjrIv –