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 ...
随机推荐
- JSP中使用JDBC连接MySQL数据库的详细步骤
1,首先在自己新建的项目文本框中输入Web Project的名称,然后单击下一步. 2,继续单击下一步 3,把Generate web.xml deployment descriptor复选框勾上. ...
- logistic回归梯度上升优化算法
# Author Qian Chenglong from numpy import * from numpy.ma import arange def loadDataSet(): dataMat = ...
- 关于javascript中对浮点加,减,乘,除的精度分析
大学专业是计算机童鞋或多或小的知道 计算机是由二进制存储和处理数字的,不能精确到处理浮点数,且javascript也没有这样的方法 所以在浏览器计算的时候也会有误差,比如说 我想用 3.3 / 1.1 ...
- STM32 串口中断总结
原文:https://blog.csdn.net/weixin_42480952/article/details/82981409 最近在学习使用dma传输方式进行串口通讯,感觉这个很详细,存一下 . ...
- ROS初级教程 cmake cmakelist.txt 的编写教程
有很多 的时候我们使用别人的程序包.然后添加东西的时候缺少什么东西,会使程序编译不过去,甚至无法运行,接下来介绍一下cmakelist.txt 的每一行的作用.为了以后添加和修改方便. 2.整体结构和 ...
- 【MongoDB】MongoDB的下载 安装 配置及使用
windows系统 教程 1.下载地址 (官方提供根据系统位数选择对应的bit.exe下载) 由于自己win32系统不支持该官方版本,在网上又找了个 mongodb-win32-i386版本 p ...
- 在win10下使用docker快速搭建ruby开发环境
docker在windows下发力的时候必将取代各种虚拟机,并改变程序员的开发习惯,或许还会改变infra的工作. 概要: 在Windows下搭建开发环境一直是infra(我)头疼的事情.为了解决这个 ...
- # 2017-2018-2 20155319《网络对抗技术》Exp9 :Web安全基础
2017-2018-2 20155319<网络对抗技术>Exp9 :Web安全基础 实践过程 webgoat准备 从GitHub上下载jar包(老师的虚拟机中有 无需下载) 拷贝到本地,并 ...
- HTML 头部 (head) 实例
所有表签解释.HTML <meta> 元素元数据(metadata)是关于数据的信息. <meta> 标签提供关于 HTML 文档的元数据.元数据不会显示在页面上,但是对于机器 ...
- ABP中文文档及源码说明
目录 ABP.ModuleZero(ABP自带的一套用户模块) 版本管理(Edition) 特性管理(Feature)