ExtJs学习笔记基础篇(1)

大多数的JavaScript操作都需要先获取页面上的某个元素的引用(reference),好让你来做些实质性的事情。传统的JavaScript做法,是通过ID获取Dom节点的:

varmyDiv=document.getElementById('myDiv');这毫无问题,不过这样单单返回一个对象(DOM节点),用起来并不是太实用和方便。为了要用那节点干点事情,你还将要手工编写不少的代码;另外,对于不同类型浏览器之间的差异,要处理起来可真头大了。

由ID获取一个ExtElement的相应代码如下(首页ExtStart.htm包含一个ID为“myDiv”的div,然后,在ExtStart.js中加入下列语句):ThecorrespondingcodetogetanExtElementbyIDlookslikethis(thestarterpageExtStart.htmlcontainsadivwiththeid"myDiv,"sogoaheadandaddthiscodetoExtStart.js):

Ext.onReady(function(){varmyDiv=Ext.get('myDiv');});再回头看看Element对象,发现什么有趣的东东呢?

继续在ExtStart.js中,在刚才我们获取好myDiv的位置中加入:

myDiv.highlight();//黄色高亮显示然后渐退myDiv.addClass('red');//添加自定义CSS类(在ExtStart.css定义)myDiv.center();//在视图中将元素居中myDiv.setOpacity(.25);//使元素半透明获取多个DOM的节点通常情况下,想获取多个DOM的节点,难以依靠ID的方式来获取。有可能因为没设置ID,或者你不知道ID,又或者直接用ID方式引用有太多元素了。这种情况下,你就会不用ID来作为获取元素的依据,可能会用属性(attribute)或CSSClassname代替。基于以上的原因,Ext引入了一个异常强大的DomSelector库,叫做DomQuery。

到这范例为止,我们所写的代码都是放在onReady中,即当页面加载后总会立即执行,功能较单一——这样的话,你便知道,如何响应某个动作或事件来执行你希望做的事情,做法是,先分配一个function,再定义一个eventhandler事件处理器来响应。我们由这个简单的范例开始,打开ExtStart.js,编辑下列的代码:

Ext.onReady(function(){Ext.get('myButton').on('click',function(){alert("你单击了按钮");});});代码依然会加载好页面后执行,不过重要的区别是,包含alert()的function是已定义好的,但它不会立即地被执行,是分配到按钮的单击事件中。用浅显的文字解释,就是:获取ID为'myDottom'元素的引用,监听任何发生这个元素上被单击的情况,并分配一个function,以准备任何单击元素的情况。

一般来说,Element.select也能做同样的事情,即作用在获取一组元素上。下一例中,演示了页面中的某一段落被单击后,便有弹出窗口:

Ext.onReady(function(){Ext.select('p').on('click',function(){alert("你单击了一段落;");});});这两个例子中,事件处理的function均是简单几句,没有函数的名称,这种类型函数称为“匿名函数(anonymousfunction)”,即是没有名的的函数。你也可以分配一个有名字的eventhandler,这对于代码的重用或多个事件很有用。下一例等效于上一例:

Ext.onReady(function(){varparagraphClicked=function(){alert("你单击了一段落;");}Ext.select('p').on('click',paragraphClicked);});到目前为止,我们已经知道如何执行某个动作。但当事件触发时,我们如何得知这个eventhandler执行时是作用在哪一个特定的元素上呢?要明确这一点非常简单,Element.on方法传入到evenhandler的function中(我们这里先讨论第一个参数,不过你应该浏览API文档以了解evenhandler更多的细节)。在我们之前的例子中,function是忽略这些参数的,到这里可有少许的改变,——我们在功能上提供了更深层次的控制。必须先说明的是,这实际上是Ext的事件对象(eventobject),一个跨浏览器和拥有更多控制的事件的对象。例如,可以用下列的语句,得到这个事件响应所在的DOM节点:

Ext.onReady(function(){varparagraphClicked=function(e){Ext.get(e.target).highlight();}Ext.select('p').on('click',paragraphClicked);});注意得到的e.target是DOM节点,所以我们首先将其转换成为EXT的Elemnet元素,然后执行欲完成的事件,这个例子中,我们看见段落是高亮显示的。

THE END
1.DOM节点类型文档对象模型(DOM)是 HTML 和XML 文档的编程接口。它为文档提供了一种结构化的表示方法,允许开发者通过脚本来访问文档的结构、样式和内容。在 DOM 中,每个元素、属性、文本块等都被视为一个节点,这些节点构成了 DOM 树。本文将详细介绍 DOM 中的不同节点类型。 https://blog.csdn.net/wjs2024/article/details/143871001
2.dom分为哪三个部分WebKit JavaScript Binding添加新DOM对象的三种方式 一.基础知识 首先WebKit IDL并非完全遵循Web IDL,只是借鉴使用.WebKit官网提供了一份说明(WebKitIDL),比如Web IDL称"operation”(操作), 而WebKitIDL称为"method"(方法), 另外Web IDL也不像WebKitIDL那样将属性和参数分开. 为JavaScript绑定对象,可以使用module来定义https://www.shuzhiduo.com/topic/dom%E5%88%86%E4%B8%BA%E5%93%AA%E4%B8%89%E4%B8%AA%E9%83%A8%E5%88%86/
3.javascript学习笔记(一)DOM基本操作基础知识js教程document.body.appendChild(text); Java免费学习笔记:立即学习 解锁Java 大师之旅:从入门到精通的终极指南java速学教程(入门到精通) java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦! 下载 https://m.php.cn/faq/20226.html
4.DOM的基础知识DOM的基础知识 什么是DOM DOM:Document Object Model 文档对象模型是W3C组织推荐的处理可扩展标记语言的标准编程接口 B:浏览器O:对象M:模型,W3C定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容,结构和样式 DOM的简介 DOM树: 如何获取页面元素 document文档对象提供了一系列的api方法,可以方便我们操作dom数https://www.pianshen.com/article/15402497208/
5.Go语言学习&求职路径(附Go语言书单)第1篇“Go语言入门”,介绍Go语言的基础语法,既使没有Go语言基础的读者也可以学习本书。 第2篇“Go Web基础入门”,包括3章:Go Web开发基础、接收和处理Go Web请求、用Go访问数据库。本篇能使读者快速掌握用Go语言进行Web开发的基础知识。 第3篇“Go Web高级应用”,包括4章:Go高级网络编程、Go文件处理、Go并发http://www.broadview.com.cn/article/420281
6.Vue快速入门学习笔记(更新ing)本笔记综合了视频狂神说的Vue快速上手和菜鸟教程、CSDN等博客文章,以及个人的一些学习见解与体会。 由于是为了团队需要而快速入门,HTML、CSS、JS、Vue等基础均不全,故本笔记仅供参考学习使用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。https://m.nowcoder.com/discuss/353148469172969472
7.ElementUI入门笔记(个人向)Element UI入门笔记 将页面分割为一级菜单、二级菜单、导航栏三个部分; 使用npm下载安装,使用语句npm i element-ui -s; 布局组件 --:key用于为每一个下拉选项设置唯一的Key值,用于Vue的虚拟DOM的diff算法--><!--:label设置选项要显示的文本信息--><!--:value设置选项选中后给http://www.mzph.cn/web/52984.shtml
8.E023Web学习笔记JQuery(一):基础知识51CTO博客E023Web学习笔记-JQuery(一):基础知识 一、JQuery基础 1、概念 jQuery 是一个 JavaScript 库; jQuery 极大地简化了 JavaScript 编程; jQuery 很容易学习; 2、快速入门 使用步骤: 第一步:下载JQuery; https://jquery.com/download/ 1. 第二步:导入JQuery的JS文件(直接复制);https://blog.51cto.com/u_13272819/6079059
9.Vue笔记——node.js入门知识这个时候我们的node.js便出现了。我们一旦安装好node.js之后,如何下载和安装的问题就迎刃而解,这个时候我们只需要使用npm install相关命令,node.js就可以帮助我们自动安装脚手架。如果你对npm不了解的话,推荐一篇博客:Vue笔记——npm入门知识。 安装好脚手架之后,我们在项目中还有会使用到各种各样的插件和库,比如vuehttps://www.jianshu.com/p/141c891561ec
10.Vue2.0学习笔记(基础篇)Vue2.0学习笔记(基础篇) 标签: JavaScript Vue.js 收藏 前言 纠结了很久到底是学Vue还是React,然后发现有纠结那么久的时间,说不定一个已经入门了。于是先挑一个基于原生js的框架Vue开始吧(还有个主要原因是Vue的中文官网做的比较小清新,看起来舒服). 稍微学习了一下,感觉vue和angular1.0真的有很多相像的地方。https://www.imooc.com/article/16117
11.JavaScript高级程序设计(第3版)(豆瓣)本来主攻PHP的我,在工作过程中发现JS的知识也是很必须的,所以决定开始学JS,然后在2012.6.7号在亚马逊买了这本书,以为可以用于入门,没想到这么书还是有一定难度,看了大半个月,才有一些零零碎碎的感觉本来自己基础不牢,也没什么好说的,所以说这本书还真的不适合初 (展开) 4 1 9回应 > 更多书评 https://book.douban.com/subject/10546125/
12.超过1000本的计算机经典书籍个人笔记资料以及本人在《Python入门教材(中文)》 百度云链接 提取码:d90e 《Python数据处理》 百度云链接 提取码:yqvb 《Python网络编程基础》 百度云链接 提取码:neke 《Python学习手册(第4版)》 百度云链接 提取码:gsio 《Python正则表达式-深入浅出》 百度云链接 提取码:sw5p 《Python知识手册-V2.0.1》 百度云链接 提取码:98a6 https://github.com/dptr/CS-Books/