效果图展示:
指令:
app.directive(‘onBlankHide‘,function () {
return {
restrict: ‘A‘,scope: {
pop: ‘=‘
},link: function (scope,element,attr) {
element.on(‘click‘,function (e) {
$(‘#‘ + scope.pop).fadeIn();
$(document).click(function () {
$(‘#‘ + scope.pop).hide();
});
//阻止底层冒泡
e.stopPropagation();
});
$(‘#‘ + scope.pop).click(function (e) {
//阻止底层冒泡
e.stopPropagation();
})
}
}
});
<input id="btn" type="button" value="显示DIV" on-blank-hide pop="‘myDiv‘" /> <div id="myDiv"> This is a div; </div>
说明:pop是向指令传递的值,表示关联弹框的id名,不要忘‘’
<!DOCTYPE html> <html lang="en"> <head> <Meta charset="UTF-8"> <Meta name="viewport" content="width=device-width,initial-scale=1.0"> <Meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> <script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script> <title>Document</title> <style type="text/css"> body { background-color: #999999; } #myDiv { background-color: #FFFFFF; width: 250px; height: 250px; display: none; } </style> </head> <body ng-app="myApp"> <input id="btn" type="button" value="显示DIV" on-blank-hide pop="‘myDiv‘" /> <div id="myDiv"> This is a div; </div> </body> <script type="text/javascript"> var app = angular.module("myApp",[]); app.directive(‘onBlankHide‘,function () { return { restrict: ‘A‘,scope: { pop: ‘=‘ },link: function (scope,attr) { element.on(‘click‘,function (e) { $(‘#‘ + scope.pop).fadeIn(); $(document).click(function () { $(‘#‘ + scope.pop).hide(); }); //阻止底层冒泡 e.stopPropagation(); }); $(‘#‘ + scope.pop).click(function (e) { //阻止底层冒泡 e.stopPropagation(); }) } } }); </script> </html>
<!DOCTYPE html> <html lang="en"> <head> <Meta charset="UTF-8"> <Meta name="viewport" content="width=device-width,initial-scale=1.0"> <Meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> <title>Document</title> <style type="text/css"> body { background-color: #999999; } #myDiv { background-color: #FFFFFF; width: 250px; height: 250px; display: none; } </style> </head> <body> <input id="btn" type="button" value="显示DIV" /> <div id="myDiv"> This is a div; </div> </body> <script type="text/javascript"> $(function () { $("#btn").click(function (event) { $(‘#myDiv‘).fadeIn(); $(document).one("click",function () { //对document绑定一个影藏Div方法 $(‘#myDiv‘).hide(); }); event.stopPropagation(); //阻止事件向上冒泡 }); $(‘#myDiv‘).click(function (event) { event.stopPropagation(); //阻止事件向上冒泡 }); }); </script> </html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。