ExtJS 学习笔记 示例1-点击按钮弹出一个新窗体,避免重复创建
2016-11-19 11:42
791 查看
本人只是一枚编程界的小学生,虚心求教。代码仅供参考,勿喷!
1、代码结构图
2、代码示例windows_001.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>示例1-点击按钮弹出一个新窗体,避免重复创建</title>
<base href="${pageContext.request.scheme}://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}/">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- ext的样式文件 -->
<link rel="styleSheet" type="text/css" href="static/plugins/extjs/resources/css/ext-all.css" />
<!-- extjs的核心文件 -->
<script type="text/javascript" charset="utf-8" src="static/plugins/extjs/ext-all-debug.js"></script>
<!-- 国际化文件 -->
<script type="text/javascript" charset="utf-8" src="static/plugins/extjs/ext-lang-zh_CN.js"></script>
<script type="text/javascript" charset="utf-8" src="static/js/window_001.js"></script>
</head>
<body>
<input type="button" id='btn' value="点击"/>
</body>
</html>
3、代码示例 window_001.js
Ext.onReady(function(){
//ExtWeb 300例 ex001 点击按钮出来一个新窗体(注意重复创建的问题)
//错误代码示例
/*
Ext.get('btn').on('click',function(){
Ext.create('Ext.window.Window', {
id:'myWindow', //有id属性时重复创建有bug,没有时会创建多个window
title: '我的窗口',
height: '36%',
width: '30%',
renderTo:Ext.getBody()
}).show();
});
*/
//推荐解决方案
Ext.get('btn').on('click',function(){
if(!Ext.getCmp('myWindow')){ //(第二种解决方案)判断是否存在该组件
Ext.create('Ext.window.Window', {
id:'myWindow',
title: '我的窗口',
height: '36%',
width: '30%',
//modal:true, //(第一种解决方案)加模态
renderTo:Ext.getBody()
}).show();
}
});
//第三种解决方案
//closeAction 属性默认是destroy即当关闭window时,默认销毁故设置为隐藏
//因为窗口一直存在,消耗浏览器内存,不推荐使用。
/*
var win = Ext.create('Ext.window.Window', {
title: '我的窗口',
height: '36%',
width: '30%',
renderTo:Ext.getBody(),
closeAction:'hide'
});
Ext.get('btn').on('click',function(){
win.show();
});*/
});
1、代码结构图
2、代码示例windows_001.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>示例1-点击按钮弹出一个新窗体,避免重复创建</title>
<base href="${pageContext.request.scheme}://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}/">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- ext的样式文件 -->
<link rel="styleSheet" type="text/css" href="static/plugins/extjs/resources/css/ext-all.css" />
<!-- extjs的核心文件 -->
<script type="text/javascript" charset="utf-8" src="static/plugins/extjs/ext-all-debug.js"></script>
<!-- 国际化文件 -->
<script type="text/javascript" charset="utf-8" src="static/plugins/extjs/ext-lang-zh_CN.js"></script>
<script type="text/javascript" charset="utf-8" src="static/js/window_001.js"></script>
</head>
<body>
<input type="button" id='btn' value="点击"/>
</body>
</html>
3、代码示例 window_001.js
Ext.onReady(function(){
//ExtWeb 300例 ex001 点击按钮出来一个新窗体(注意重复创建的问题)
//错误代码示例
/*
Ext.get('btn').on('click',function(){
Ext.create('Ext.window.Window', {
id:'myWindow', //有id属性时重复创建有bug,没有时会创建多个window
title: '我的窗口',
height: '36%',
width: '30%',
renderTo:Ext.getBody()
}).show();
});
*/
//推荐解决方案
Ext.get('btn').on('click',function(){
if(!Ext.getCmp('myWindow')){ //(第二种解决方案)判断是否存在该组件
Ext.create('Ext.window.Window', {
id:'myWindow',
title: '我的窗口',
height: '36%',
width: '30%',
//modal:true, //(第一种解决方案)加模态
renderTo:Ext.getBody()
}).show();
}
});
//第三种解决方案
//closeAction 属性默认是destroy即当关闭window时,默认销毁故设置为隐藏
//因为窗口一直存在,消耗浏览器内存,不推荐使用。
/*
var win = Ext.create('Ext.window.Window', {
title: '我的窗口',
height: '36%',
width: '30%',
renderTo:Ext.getBody(),
closeAction:'hide'
});
Ext.get('btn').on('click',function(){
win.show();
});*/
});
相关文章推荐
- Extjs--点击一个按钮,打开一个新的窗体window重复创建的问题
- ios学习笔记之-点击一个按钮弹出拨打电话提示框
- ExtJS点击添加一个按钮弹出prompt添加combo中
- 【学习笔记】cocos2d-x 如何创建一个按钮(文本按钮、图片按钮)
- 创建一个windows窗体--学习笔记一
- Flex中如何给一个按钮添加链接,点击链接打开一个网页呢? - FLEX学习笔记
- Web Service学习笔记:创建一个示例和WebMethod特性解析
- 黑马程序员之WinForm编程基础学习笔记:页面上有一个文本框,文本框左侧和右侧各有一个按钮,点击左测按钮文本框中的文字向左循环滚动一次,点击右侧按钮文本框中的文字向右循环滚动一次。
- jQuery 学习笔记2 点击时弹出一个对话框
- ExtJS点击添加一个按钮弹出prompt添加combo中
- QT学习3:在VS2013下通过点击按钮弹出一个新的窗口
- jQuery 学习笔记3 点击弹出一个div并允许拖拽移动
- Extjs学习笔记2 -创建一个GridPanel
- 黑马程序员之WinForm编程基础学习笔记:用户在文本框1,2中输入两个数,点击按钮,在文本框3中显示从文本框1中的数字到文本框2中的数字之间的累加和。如果1或者2为错误的数据格式,则弹出对话框提示错
- effective-java学习笔记(2)避免在程序中创建重复的对象
- DataGrid点击删除按钮弹出确认对话框一个好办法
- ExtJs学习笔记(18)_ExtJs嵌入FCK示例
- Asp.Net避免按钮重复点击
- Asp.Net避免按钮重复点击
- 事件1:点击一个按钮,弹出一个对话框