angular2 bootstrap modal
----html-------
<div #ele
class="modal fade " style="z-index: 9999"
data-backdrop="false"
data-show="true" >
<div class="modal-dialog">
<div class="modal-content">
<div class=" modal-header ">
<button type="button" class="close" (click)="onClose()" aria-label="Close"><span aria-hidden="true"><i
class="fa fa-times"></i></span></button>
<h4 class="modal-title"><span [innerText]="header"></span></h4>
</div>
<div class="modal-body slimScrollDiv"> <ng-content></ng-content>
</div>
</div>
</div>
</div>
-------ts--------------
import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';
@Component({
selector: 'eve-modal',
templateUrl: 'eve-modal.component.html'
})
export class ModalComponent implements OnInit {
private _shown=false;
private _allowDrag=false;
@ViewChild("ele")
private ele:ElementRef;
@Input()
set allowDrag(val){
if(val===this._allowDrag){
return;
}
if(val){
$(this.ele.nativeElement).drags({handle: ".modal-header"});
}
}
@Input()
header:string;
@Input()
get shown(){
return this._shown;
}
set shown(val){
if(this._shown===val){
return
}
this._shown=val;
this.showModal(val);
this.shownChange.emit(val);
}
@Output()
shownChange:EventEmitter<boolean> =new EventEmitter();
constructor(private eleRef:ElementRef) {
this.eleRef.nativeElement.style["z-index"]=9999;
}
ngOnInit() {
}
onClose(){
this.shown=false;
}
showModal(val:boolean){
if(val){
$(this.ele.nativeElement).find(".modal-content").attr("style","")
}
$(this.ele.nativeElement).modal(val?"show":"hide");
}
}
-------jquery drag extends-----------------
(function ($) {
$.fn.drags = function (opt) {
opt = $.extend({
handle: "",
cursor: "move"
}, opt);
var $selected = this.find(".modal-content");
var $elements = (opt.handle === "") ? this : this.find(opt.handle);
$elements.css('cursor', opt.cursor).on("mousedown", function (e) {
var pos_y = $selected.offset().top - e.pageY,
pos_x = $selected.offset().left - e.pageX;
$(document).on("mousemove", function (e) {
$selected.offset({
top: e.pageY + pos_y,
left: e.pageX + pos_x
});
}).on("mouseup", function () {
$(this).off("mousemove"); // Unbind events from document
});
e.preventDefault(); // disable selection
});
return this;
};
})(jQuery);
angular2 bootstrap modal的更多相关文章
- Bootstrap Modal 垂直方向加滚动条
原文链接:http://blog.csdn.net/cyh1111/article/details/52960747 背景 使用Bootstrap Modal实现用户资料修改,由于用户信息过多,默认M ...
- Bootstrap modal垂直居中
Bootstrap modal垂直居中 在网上看到有Bootstrap2的Modal dialog垂直居中问题解决方法,这种方法自己试了一下,并不能完全居中,并且窗口的大小不一样的话,每次显示的m ...
- 对bootstrap modal的简单扩展封装
对bootstrap modal的简单扩展封装 参考自:http://www.muzilei.com/archives/677 注:原文不支持bootstrap新版本,并且居中等存在问题 此段时间 ...
- bootstrap插件学习-bootstrap.modal.js
bootstrap插件学习-bootstrap.modal.js 先从bootstrap.modal.js的结构看起. function($){ var Modal = function(){} // ...
- Bootstrap modal常用参数、方法和事件
Bootstrap modal(模态窗)常用参数.方法和事件: 参数: 名称 类型 默认值 描述 Backdrop Boolean或字符串“static” True True:有背景,点击modal外 ...
- bootstrap modal 监听滚动条事件
bootstrap modal 里面使用datetimepicker时间控件,滚动时,时间控件并不会隐藏,这是一个小bug,在组里改下,当滚动条滚动时,直接隐藏这个时间控件,$("#alar ...
- Bootstrap modal模态框关闭时,combobox input下拉框仍然保留在页面上
问题描述: 当点击模态框的关闭按钮时,下拉框中的内容没有消失,而是移动到了页面左上角 分析:这个问题的定位在于是用的哪种模态框,bootstrap和easyui都可以实现模态框,但是两个方法实现的模态 ...
- bootstrap modal与select2使用冲突解决
今天发现项目使用bootstrap modal 与 jquery select2 结合时发现select2不起作用,点击select框不显示选项,查阅资料后发现是因为modal层遮挡了select2的 ...
- bootstrap modal 垂直居中对齐
bootstrap modal 垂直居中对齐 文章参考 http://www.bubuko.com/infodetail-666582.html http://v3.bootcss.com/Jav ...
随机推荐
- 或许因为缺少默认route配置而导致的的ping超慢,甚至timeout
内网有台dell r620 做测试用: 4个网口都插了 网线,通过小交换直接连在中心路由的第3个口上: 安装了kvm,有virbr0 :但还没装其它的虚拟机. ping 外网域名 ,IP地址 都超 ...
- 搞死人的contextRoot;weblogic9.2
默认情况下: 两个app-deployment同时部署到了一台weblogic服务器的同一个domain下面的时候 /mysite/www/www/WEB-INF/weblogic.xml /mysi ...
- Android DatePickerDialog使用案例
DatePickerDialog提供了一个弹出的Dialog供用户选择日期. 在这里分享一下其使用方法,效果图如下: DatePickerActivity.java package com.yw.my ...
- cloudstack secondary vm starting
等1个小时,差不多可以进入虚拟机,看日志/var/log/cloud.log
- 复习整理2:juit
@FixMethodOrder(MethodSorters.NAME_ASCENDING)测试回环 https://blog.csdn.net/u014294166/article/details/5 ...
- 软件设计、DDD概念及落地时的一些零碎思考和记录
DDD理解 DDD体现的是对现实的充分尊重. 1.尊重业务现实,领域专家.领域语言等概念 2.尊重团队现实 3.尊重变化 Application 对某一业务线的整体掌控,流程组装,进度管理,存储时机掌 ...
- 大数据入门第二十一天——scala入门(二)并发编程Akka
一.概述 1.什么是akka Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable).弹性的(Resilient).快速响应的(Responsive)应用程序的平台. 更多入门的基 ...
- 2017-2018-2 20155224『网络对抗技术』Exp7:网络欺诈防范
基础问题回答 问:通常在什么场景下容易受到DNS spoof攻击? 同一局域网下,以及各种公共网络. 问:在日常生活工作中如何防范以上两攻击方法? 答:DNS欺骗攻击是很难防御的,因为这种攻击大多数本 ...
- 老项目迁移到 springboot 过程
打算把detectx迁移,毕竟springboot更适合它, 首先我是用的快速建立的项目,springboot版本为 1.5.19.RELEASE ,官网查了下,这个是GA稳定生产环境版本 然后如果要 ...
- 记录一次 @Autowired 无法注入( spring依赖正常 idea显示有spring已注入的图标)导致空指针异常的原因
首先,参考 https://blog.csdn.net/weixin_40475523/article/details/81085990 然后发现 是因为我把自己的这个类加上了 @Service 注解 ...