• ExtJS学习-------Ext正确Dom操作:Ext.get Ext.fly Ext.getDom







    详细实例:

    (1)创建JSP文件。引入CSS和js文件,加入三个Div

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP '004_base05_dom1.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<link rel="styleSheet" type="text/css" href="js/extjs/resources/css/ext-all.css" />
    	<script type="text/javascript" charset="utf-8" src="js/extjs/ext-all-debug.js"></script>
    	<script type="text/javascript" charset="utf-8" src="js/extjs/ext-lang-zh_CN.js"></script>
    	<script type="text/javascript" charset="utf-8" src="base/ext_dom.js"></script>
    
      </head>
      <body>
      			<div id=d1 align="center">我是d1</div>
      			<div id=d2 align="center">我是d2</div>
      			<div id=d3 align="center">我是d3</div>
      </body>
    </html>
    
    (2)编写Ext文件

    Ext.onReady(function(){
    
    	//Ext.dom.Element
    	//Ext.get 使用了缓存机制来提升获取DOM节点的效率 Ext.Element
    	
    	//get方法的描写叙述:
    	/**
    	 * 1 首先去Ext.cache缓存里去查找 。假设缓存里有。直接返回就可以
    	 * 2 假设缓存里没有 ,那再去页面上去查找 , 假设页面里没有,返回null
    	 * 3 假设页面里有,把当前内容增加到缓存里: { id : {data/events/dom} }
    	 * 4 Ext.addCacheEntry加到缓存里的方法
    	 */
    	var d1 = Ext.get('d1');	//Ext.Element
    	alert(d1.dom.innerHTML);
    	
    	//Ext.fly
    	/**
    	 * fly:使用了javascript经典的‘享元模式’来提升效率,从而节约内存。更加低碳化
    	 * 返回的对象:Fly对象 。当然你能够理解成为返回的就是Ext封装好的Ext.Element对象
    	 * 注意点:fly因为内部使用了享元模式 所以 仅仅适合一次操作 ,从而节省内存
    	 */
    	 
    	 var d2 = Ext.fly('d2');
    	 var d3 = Ext.fly('d3');
    	 d2.dom.innerHTML = 'AAA'; 
    	 d3.dom.innerHTML = 'BBB';
    	 
    	 /*//注意:正确的方法应该是以下的
    	 var d2 = Ext.fly('d2');
    	 d2.dom.innerHTML = 'AAA'; 
    	 var d3 = Ext.fly('d3');
    	 d3.dom.innerHTML = 'BBB';*/
    	
    	
    	//Ext.getDom
    	/**
    	 * 直接从页面上获取元素的DOM元素
    	 */
    	var dom = Ext.getDom('d3');  //HTMLElement
    	dom.innerHTML="CCCC";	
    });
    (3)程序执行结果

       get方法获得的结果。

        fly方法的结果

     getDom方法的结果




    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    javascript弹出窗口代码
    DOM的核心: Node
    AjaxControlToolkit学习系列(1) DragPanelExtender
    nodeName、nodeValue 以及 nodeType 简单解析
    AjaxControlToolkit学习系列(3) AnimationExtender
    childNodes
    javascript面向对象技术基础(四)
    自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图<原创>
    ADO.NET朝花夕拾(一)
    javascript面向对象技术基础(三)
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4664415.html
Copyright © 2020-2023  润新知