页面载入

在原生的javascript中页面载入通过window.onload方法去实现的,jQuery中是通过ready方法实现页面载入事件,写法:

$(document).ready(function(){
         alert('jQuery页面载入事件');
});

在实际开发中,jQuery页面载入事件还有另外一种写法:

$(function(){
         alert('简化的jQuery页面载入事件');
});

基本事件

在jQuery中对象没有事件一说,jQuery事件是通过对象的方法来实现,语法:dom对象.方法(事件处理程序)

 

•       $(selector).blur(fn)              表示失去交点时候触发

•       $(selector).change(fn)        表示改变时触发

•       $(selector).click(fn)    鼠标单击时触发

•       $(selector).dblclick(fn)                 鼠标双击时触发 类GUI

•       $(selector).focus(fn)                     获得交点时触发

•       $(selector).keydown(fn)              键盘按下时触发  返回键盘的值,最终是要通过translateMessage函数来转换他成为ascii

•       $(selector).keyup(fn)          键盘弹起时触发

•       $(selector).keypress(fn)              键盘按下时触发     直接返回ascii

•       $(selector).load(fn)                       与ready方法相同,表示页面加载时触发

•       $(selector).unload(fn)                  页面关闭时触发

•       $(selector).mousedown(fn)        鼠标单击(左键)是触发

•       $(selector).mouseup(fn)             鼠标弹起时触发(左键)

•       $(selector).mousemove(fn)        鼠标移动时触发

•       $(selector).mouseover(fn)          鼠标悬浮时触发

•       $(selector).mouseout(fn)            鼠标离开时触发

•       $(selector).resize(fn)                   浏览器窗口大小改变时触发

•       $(selector).scroll(fn)                     滚动条滚动时触发

•       $(selector).select(fn)                   文字选中时触发

•       $(selector).submit(fn)                  表单提交时触发

 

•      阻止事件冒泡使用:event.stopPropagation();

•      阻止默认行为使用:

   A标签可以使用javascript:;  或者javascript:void(0);

   表单提交:使用event.preventDefault();

事件切换

•       hover(over,out)  鼠标切换事件,第一个参数表示鼠标悬浮的时候触发,第二个参数表示鼠标离开时触发

$('img').hover(function(){
$('#div1').html('鼠标悬浮');
   },function(){
            $('#div1').html('鼠标离开');
   });

•       toggle(fn,fn…)             单击事件切换

以2个参数为例:

第一个参数表示:第一次单击时触发

第二个参数表示:第二次单击时触发

第三次点击的时候触发第一个事件处理程序

…依次类推

$('#btn').toggle(function(){
                       $('body').css('backgroundColor','red');
                  },function(){
                            $('body').css('backgroundColor','green');
                   },function(){
                            $('body').css('backgroundColor','pink');
                   });

 

 

动画效果

•      1.hide(speed,[callback])方法  等效为display:none 

•      2.show(speed,[callback])方法 可以恢复hid()调用之前dispaly的值

•      3.fadein(speed,[callback])方法可以通过改变元素的不透明度显示

•      4.fadeout(speed,[callback])方法可以通过改变元素的不透明度隐藏

•      5.fadeTo(speed,opacity,[callback])方法可以改变元素的不透明度   第二个参数表示透明度:0~1

•      6.slideup(speed,[callback])向上滑动隐藏 通过改变高度

•      7.slidedown(speed,[callback])向下滑动显示 通过改变高度

•      8.toggle(speed,[callback])切换显示和隐藏

•      9.slideToggle(speed,[callback])切换上下滑动

•      10. fadeToggle(speed,[callback]);   切换fadein 和fadeout

•       11.自定义动画$(selector).animate(parameters,speed,[callback])

参数说明:

Parameters:json对象 示例{left:'250px',opacity:'0.5',width:'150px'}

Speed:”fast”、”slow” "normal"毫秒数值(不带引号)限定速度

Callback:动画效果完成后触发的回调函数

 

 

事件绑定

 

•       $(selector).bind(type,[data],fn)        用的最多的,全部jQuery版本都支持

Type:事件类型

Data:传递给处理程序的参数,可选

Fn:事件处理程序

•       $(selector).bind({type:fn,type:fn})

批量事件绑定,参数是个json对象

•       $(selector).delegate(childSelector,type,[data],fn)

表示事件绑定

ChildSelector:必须参数,事件绑定的对象是当前元素的子元素

Type:事件类型

Danta:可选,传递的参数

Fn:事件处理程序

从jQuery的1.4.2+ 支持该绑定方法

•       $(selector).on(type,[childSelector],[data],fn)

Type:事件类型

ChildSelector:可选,表示当前元素下的子元素作为绑定对象,如果不指定,表示绑定当前选择器,如果指定则绑定当前选择器下的子元素选择器

Data:可选,表示传递的参数

Fn:事件处理程序

从jQuery的1.7+版本支持该绑定方法,也是官方推荐的绑定方法。

•       $(selector).live(type,[data],fn)

类似于bind方法

从jQuery的1.9以后,就不再支持这样的绑定方法。

•       $(selector).one(type,[data],fn)

给选择器绑定事件,只绑定一次。再次触发的时候就触发不了事件处理程序。

•       $(selector).unbind([type])  参数可选,如果不指定,则解绑全部事件

取消绑定,解绑

 

 

Bind(on)绑定的click事件和自带的基本事件click的区别?

前者支持当前已经存在的元素和未来的元素,后者(click等基本事件)不支持绑定未来元素。

 

 

 

 

 

文档处理

插入、删除、复制、替换、包裹、查找

 

内部插入操作

•       $(selector).append(content或函数的返回值) 在当前选择器内容尾巴追加内容

•       $(content).appendTo(selector)  表示将内容追加到指定的选择器内容尾部中

Append所追加的内容可以是函数的返回值,而appendTo不行。

•       $(selector).prepend(content)  在当前选择器元素内容首追加内容

•       $(content).prependTo(selector)  将内容添加到当前选择器元素内容首部之前

prepend所追加的内容可以是函数的返回值,而prependTo不行。

外部插入操作

$(selector).after(content或者函数的返回值) 在选择器元素后(标签结束之后)插入

$(selector).before(conten或者函数的返回值)在选择器元素前(开始标签之前)插$(content).insertAfter(selector) 将内容添加到当前选择器元素之后(结束标签之后)$(content).insertBefore(selector) 将内容添加到当前选择器元素之前(开始标签之前)

主被动的关系:主动的方式可以将内容设置为函数的返回值。

              被动添加时候,内容必须是要被标签所包含。

删除操作

•       $(selector).empty()             表示清空当前选择器元素中的内容

•       $(selector).remove()           表示移除当前元素

empty只清除了内容,而没有删除标签,这个是一个假删除,等价于$( selector).html(‘’);

 

 

复制(克隆)操作

•       $(selector).clone()   表示复制指定的选择器元素

替换操作

•       $(selector).replaceWith(content)   使用指定的content替换当前选择器中的内容

包裹操作

•       $(selector).wrap()    包裹(外)包裹了整个选择器元素

•       $(selector).wrapInner()    包裹(内)只包裹了当前选择器元素中的文字部分

 

查找操作

•       $(selector).eq(index)    表示选择当前选择器(多个匹配结果)的第index个选择器

•       $(selector).filter(selector)  表示从当前选择器(多个匹配结果)中过滤出指定选择器

•       $(selector).not(selector)  表示从当前选择器(多个匹配结果)中过滤掉指定选择器后的剩下的选择器

•       $(selector).find(childSelector) 表示查找当前选择器的后代元素中指定的选择器