js的事件类型有:
UI事件焦点事件,鼠标与滚轮事件,键盘与文本事件,复合事件变动事件,HTML5事件设备事件,触摸与手势事件。
1. UI 事件:
UI事件中UI即(User Interface,用户界面),当用户与页面桑拿的元素交互时触发。
1.UI事件中主要包括
load,unload,abort,error,select,resize,scroll事件。
1.load事件
- 此事件为当页面完全加载完之后(包括所有的图像、js文件、css文件等外部资源),就会触发window上面的load事件。
- 这个事件是JavaScript中最常用的事件,比如我们经常会使用的window.onload=function(){};这种形式,即当页面完全加载完之后执行其中的函数。
2.unload事件
- 显然,这个事件是与load事件相对的。在文档被完全卸载后触发。用户从一个页面切换到另一个页面就会触发unload时间。利用这个事件最多的情况是清楚引用,避免内存泄漏。
- 这个事件同样有两种方式来指定。一种是JavaScript方式,使用EventUtil.addHandler();另一种就是在body元素中添加一个特性。
- 值得注意的是,一定要小心编写onload事件中的代码,因为它是在页面卸载后才触发,所以说页面加载后存在的那些对象,在onload触发之后就不一定存在了!
3.resize事件
- 当调整浏览器的窗口到一个新的宽度或高度时,就会触发resize事件。这个事件在window(窗口)上面触发。因此同样可以通过JS或者body元素中的onresize特性来指定处理程序。
4.scroll事件
- 这个事件会在文档被滚动期间重复被触发,所以应当尽量保持事件处理程序的代码简单。
第二部分:焦点事件
1. 焦点事件会在页面元素获得或失去焦点时触发。主要有下面几种:
- blur在元素失去焦点时触发。这个事件不冒泡,所有浏览器都支持。
- focus 在元素获得焦点时触发。这个事件不冒泡,所有浏览器都支持。
- focusin 在元素获得焦点时触发。这个事件冒泡,某些浏览器不支持。
- focusout 在元素失去焦点时触发。这个事件冒泡,某些浏览器不支持。 注意:即使blur和focus不冒泡,也可以在捕获阶段侦听到他们。
第三部分:鼠标与滚轮事件
1. 鼠标事件是Web开发中最常用的一类事件,因为鼠标是最主要的定位设备。
- click---用户单击鼠标左键或按下回车键触发
- dbclick---用户双击鼠标左键触发。
- mousedown---在用户按下了任意鼠标按钮时触发。
- mouseenter---在鼠标光标从元素外部首次移动到元素范围内时触发。此事件不冒泡。
- mouseleave---元素上方的光标移动到元素范围之外时触发。不冒泡。
- mousemove---光标在元素的内部不断的移动时触发。
- mouseover---鼠标指针位于一个元素外部,然后用户将首次移动到另一个元素边界之内时触发。
- mouseout---用户将光标从一个元素上方移动到另一个元素时触发。
- mouseup---在用户释放鼠标按钮时触发。
第四部分:键盘和文本事件
该部分主要有下面几种事件:
- keydown:当用户按下键盘上的任意键时触发。按住不放,会重复触发。
- keypress:当用户按下键盘上的字符键时触发。按住不放,会重复触发。
- keyup:当用户释放键盘上的键时触发。
- textInput:这是唯一的文本事件,用意是将文本显示给用户之前更容易拦截文本。
- 这四个事件在用户通过文本框输入文本时才最常用到。
js和jquery的区别
一、入口函数的不同
- js:window.onload = function(){内部放js}
- 实质就是一个事件,拥有事件的三要素,事件源,事件,事件处理程序。等到所有内容,以及我们的外部图片之类的文件加载完了之后,才会去执行。只能写一个入口函数;
- jQuery:(document).ready(function(){})是在 html所有标签都加载之后,就回去执行,可以写多个;
二、获取元素的方式不同
- js:常用的以下几个,除了id,其他的结果都是伪数组;
- jQuery:$(" ")通过和css雷同的选择器方式来获取元素。得到的是jquery对象(dom元素的数组,外加其他一些成员)。即使写的是id,唯一的,得到的对象都不是单一的; 本质上jquery方式和qs方式都是获取DOM数组, 只不过jquery会多一些其他成员,DOM数组的每一个成员注册事件不能像jquery一样直接注册, 必须分别给每个元素注册;
三、DOM对象和jquery对象的相互转换
- jQuery对象转换成DOM对象,方式一:(“#btn”)[0],方式二:(“#btn”).get(0)得到dom对象;
- eq(0)得到jquery对象DOM对象转换成jQuery对象:(btn);$(this) Jquery得到的元素类型都是对象,内容是伪数组,无论是不是唯一的元素;
四、事件处理程序不同
- js:
document.getElementById(“id”).onclick = function(){ // 语句 }
document.getElementById(“id”).addEventListener("click",function(){})
onclick,onfoucs,onblur,fouce(自动获得),select(自动选择文本域内容),onmouseover,onmouseout,
oninput/onpropertychange用户输入事件,onchange(下拉菜单select内容发生改变时发生事件,如果内容为几,那么做出什么反应),
- jquery:$(“#id”).click(function(){ // 语句 });
Javascript常用对象的属性和方法
- javascript为我们提供了一些非常有用的常用内部对象和方法。用户不需要用脚本来实现这些功能。这正是基于对象编程的真正目的。
- 在javascript提供了string(字符串)、math(数值计算)和Date(日期)三种对象和其它一些相关的方法。从而为编程人员快速开发强大的脚本程序提供了非常有利的条件。
1. 常用内部对象
在javascript中对于对象属性与方法的引用,有两种情况:其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例;而另一种对象则在引用它的对象或方法是必须为它创建一个实例,即该对象是动态对象。
- 对javascript内部对象的引用,以是紧紧围绕着它的属性与方法进行的。因而明确对象的静动性对于掌握和理解javascript内部对象是具有非常重要的意义。
- 串对象
- string对象:内部静态性。
- 访问properties和methods时,可使用(.)运算符实现。
- 基本使用格式:objectName.prop/methods
- 串对象的属性
- 该对象只有一个属性,即length。它表明了字符串中的字符个数,包括所有符号。 例:
mytest="This is a javascript"
mystringlength=mytest.length
- 最后mystringlength返回mytest字串的长度为20。
- 串对象的方法
- string对象的方法共有19个。主要用于有关字符串在Web页面中的显示、字体大小、字体颜色、字符的搜索以及字符的大小写转换。 其主要方法如下:
- 锚点anchor():该方法创建如用Html文档中一样的anchor标记。使用anchor如用Html中(A Name="")一样。通过下列格式访问:string.anchor(anchorName)。
- 有关字符显示的控制方法 big字体显示, Italics()斜体字显示,bold()粗体字显示,blink()字符闪烁显示,small()字符用小体字显示,fixed()固定高亮字显示、fontsize(size)控制字体大小等。
- 字体颜色方法;fontcolor(color)
- 字符串大小写转换toLowerCase()-小写转换,toUpperCase()大写转换。下列把一个给定的串分别转换成大写和小写格式:
string=stringValue.toUpperCase
string=stringValue.toLowerCase
- 字符搜索:indexOf[charactor,fromIndex]从指定formIndex位置开始搜索charactor第一次出现的位置。
- 返回字串的一部分字串:substring(start,end)从start开始到end的字符全部返回。
2算术函数的math对象
功能:提供除加、减、乘、除以外的一引些自述运算。如对数,平方根等 。
- 静动性:静态对象
1主要属性
math中提供了6个属性,它们是数学中经常用到的常数E、以10为底的自然对数LN10、以2为底的自然对数LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根为SQRT2。
2主要方法
- 绝对值:abs()
- 正弦余弦值:sin(),cos()
- 反正弦反余弦 :asin(), acos()
- 正切反正切:tan(),atan()
- 四舍五入:round()
- 平方根:sqrt()
- 基于几方次的值:Pow(base,exponent)