窗口 - dialog - 概述与基本使用
- 什么是dialog
对话框是一种特殊的窗口,它在顶部有一个工具栏,在底部有一个按钮栏。默认情况下,对话框(dialog)只有一个显示在头部右侧的关闭工具。
用户可以配置对话框行为来显示其他工具(比如:可折叠 collapsible、可最小化 minimizable、可最大化 maximizable,等等)。

dialog依赖 window和linkbutton,当需要dialog提供某个功能,而API上又没有找到的时候,可以试着去window和linkbutton上找找看
- 使用html标签创建dialog
<div class="easyui-dialog" title="对话框" style="width: 500px;height: 500px">对话框</div>

对于一个普通的<div>,一旦添加上了easyui-dialog作为class样式后,就会变成一个“漂亮”的对话框了
推断一下,其他EasyUI组件也是这么个使用方法,就是在div或其他标签上,添加指定的EasyUI样式即可
- 使用js创建dialog
<div id="dialog">对话框</div>
<script type="text/javascript">
$(function () {
$("#dialog").dialog({
title: "对话框"
width: 500,
height: 200
});
})
</script>
html标签提供了容器,js操作这个容器,加工成一个EasyUI的组件。

- 如何设置属性?
如果使用标签创建,就添加 data-options 属性,如:data-options="iconCls:'icon-save',resizable:true,modal:true"
如果使用JS创建,就传递一个JSON对象给dialog方法即可。
个人以为,只要需要将一个页面元素渲染成EasyUI组件,那么尽量还是使用JS去创建于设置这个元素
HTML只负责网页的骨架,由EasyUI去控制页面的样式与组件的行为。
扩展:现在也有一部分意见认为前端开发中需要分离CSS框架与JS框架,其实也有其合理性,但是对于页面的美观性没有太大需求的项目而言,特别是对于后端系统而言,没有必要拆分。况且美观是一门玄学,假如到了那个必要的时候,团队中肯定需要专门的美工团队,这里就不展开了。
- 属性
属性都可以在官网上找到,其基本的使用也都有。这里就不在赘述了,只对部分属性做一个使用说明
toolbar:顶部工具栏
buttons:底部按钮
这两个属性的值,都是JSON数组或选择器,举例:
选择器:
<script type="text/javascript">
$(function () {
$("#dialog").dialog({
title: "对话框",
iconCls: "icon-save",
width: 500,
height: 200,
resizable: true,
toolbar: "#tb",
buttons: "#bts"
});
})
</script>
</head>
<body>
<div id="dialog">对话框</div>
<div id="tb">
<a href="#" class="easyui-linkbutton">按钮1</a>
<a href="#" class="easyui-linkbutton">按钮2</a>
</div>
<div id="bts">
<a href="#" class="easyui-linkbutton">按钮3</a>
<a href="#" class="easyui-linkbutton">按钮3</a>
</div>
</body>
JSON数组
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%
String homePage = request.getContextPath();
%>
<!DOCTYPE HTML>
<html>
<head>
<title>JS创建dialog</title>
......
<script type="text/javascript">
$(function () {
$("#dialog").dialog({
title: "对话框",
iconCls: "icon-save",
width: 500,
height: 200,
resizable: true, modal: true, toolbar: [
{
text: '编辑',
iconCls: 'icon-edit',
handler: function () {
alert('编辑')
}
}, {
text: '帮助',
iconCls: 'icon-help',
handler: function () {
alert('帮助');
}
}
],
buttons: [{
text: '保存',
handler: function () {
alert("保存");
}
}, {
text: '关闭',
handler: function () {
alert("关闭");
}
}]
});
})
</script>
</head>
<body>
<div id="dialog">对话框</div>
</body>
</html>
modal:是否模态,true - 对话框显示的时候,背景是无法操作的,这个属性继承自window,当页面操作需要阻塞的时候会用到这个
窗口 - dialog - 概述与基本使用的更多相关文章
- 窗口Dialog
Dialog是窗口的意思,它是Window的子类.与frame相比,frame是我们大的窗口,而dialog便是那种弹出来和你说话的对话框. Dialog类的默认布局是BorderLayout Dia ...
- 控制窗口不能拖拉出主窗口 Dialog And Window
/* 控制窗口不能拖拉出主窗口(覆写) */var easyuiPanelOnMove = function(left, top) { if ($(this).panel('options').reS ...
- jquery ui-----弹出窗口 dialog
jquery ui 提供了强大的dialog功能,基本能满足开发的功能. 先上一个简单的例子: [代码] <script> $(function() { $( "#dialo ...
- 窗口 - dialog - 与后端交互
与后端交互,一般需要提交表单数据,所以,这次渲染得dialog其实是一个<form> <form id="loginForm"> <table ali ...
- SSM项目实战 之 EasyUI
目录 EasyUI 简介 概述 使用EasyUI panel组件 简介 示例 JS形式及属性介绍 panel事件与方法 Window组件 概述 使用 行为 dialog 概述 使用 tabs组件 概述 ...
- JQuery Dialog(JS模态窗口,可拖拽的DIV) 效果实现代码
效果图 调用示意图 交互示意图 如上图所示,这基本是JQueryDialog的完整逻辑流程了. 1.用户点击模态窗口的“提交”按钮时,调用JQueryDialog.Ok()函数,这个函数对应了用户 ...
- wxWidgets源码分析(7) - 窗口尺寸
目录 窗口尺寸 概述 窗口Size消息的处理 用户调整Size消息的处理 调整窗口大小 程序调整窗口大小 wxScrolledWindow设置窗口大小 获取TextCtrl控件最合适大小 窗口尺寸 概 ...
- android中的Dialog
一.Dialog概述 二.使用系统自带的Dialog 1.新建Builder AlertDialog.Builder builder = new AlertDialog.Builder(StoryAc ...
- (转)弹出窗口lhgDialog API文档
应用到你的项目 如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用, ...
随机推荐
- iOS coreData问题
iOS常见错误-CoreData: Cannot load NSManagedObjectModel.nil is an illegal URL parameter 这是因为在工程中CoreData的 ...
- 【代码笔记】iOS-多张图片合成一张
代码: RootViewController.m #import "RootViewController.h" @interface RootViewController () @ ...
- CodeForce Round#49 untitled (Hdu 5339)
Untitled Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- file get contents 访问不了域名原因
file get contents('域名'); 居然不好用 后来发现 etc/hosts 127.0.0.1 www.baidu.com 这样的 #127.0.0.1 www.baidu.co ...
- Java基础知识学习(六)
多线程 先了解线程的概念 多线程需要注意的地方 优先级.线程同步.消息传递.数据共享.死锁等 Java线程类 Thread,实现接口 Runnable Thread常用方法 getName 获得线程名 ...
- 一秒钟看懂SaaS、CRM、OA、ERP、HR、进销存
自2014年以来,SaaS.CRM.OA.ERP.HR.APM.进销存.财务系统等,这些名词大量出现在微信朋友圈.电视楼宇广告和千百万融资资讯中.它们到底是什么意思?相互之间又有什么区别?在这个飞速发 ...
- [原]ubuntu14.04 网卡逻辑修改没有文件/etc/udev/rules.d/70-persistent-net.rules
-----问题出现------ 在新装的ubuntu14.04系统中没有发现文件/etc/udev/rule.d/70-persistent-net.rules, 无法修改网络的逻辑名称(即把第一张网 ...
- cocos2d-x之 利用富文本控件解析xhml标签(文字标签,图片标签,换行标签,标签属性)
执行后效果: 前端使用: 后台SuperRichText解析code void SuperRichText::renderNode(tinyxml2::XMLNode *node){ while (n ...
- 透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化
序列化在高性能网络编程.分布式系统开发中是举足轻重的之前有用过Java序列化.ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Ja ...
- iOS同一项目多个Target的快速实现方法
之前写过这种场景下的项目,比如类似滴滴的司机端和乘客端,学生端和教师端等等.. 最近有人问我,就整理记录如下: 1.正常新建一个项目,完成后 如下: 2.这一步就是添加一个新的target 3.添加 ...