【www.gdgbn.com--jquery】

一、页面加载$(document).ready()相当与网页特效中的onload()事件,都是在页面加载的时候执行该方法,但是两者又有着微妙的差别,ready()事件是当html下载完成并解析成dom树之后就可以执行,而onload()事件要等html包括文件都下载完成之后才能执行。我们在ready()事件中可以绑定其他的一些事件或者函数,ready()有几种语法可以表示:

  $(document).ready(function(){});

  $().ready(function(){});

  $(function(){});

  当然我个人还是习惯于用第一种,增强可读性,需要注意的是在使用ready()事件的时候请确保在 元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。也可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。

  二、事件切换只有两个方法,就是hover()和toggle()两个方法,由于他们截取组合的用户操作,并且以多个函数响应,因此也称为复合事件处理机制。hover()方法是一个模仿鼠标悬停变化的方法,简单的说就是鼠标移入移出是时候执行你指定的行为的方法,我们最常用的就是做菜单切换效果。toggle()方法就是当你点击按照顺序执行你指定的函数方法,第一次点击执行第一个函数,第二次点击执行第二个函数,以此类推,它可以使用事件绑定中的unbind("click")方法删除。


hover(over,out)实例:  

 代码如下:


<script language="javascript" type="text/javascript">
$(document).ready(function() {
$("#menu").hover(
function() {
$("#menu_child").fadein();
},
function() {
$("#menu_child").fadeout();
});
});
</script>


jquery事件处理

页面加载
事件绑定
事件委派
事件切换

 

  toggle(fn,fn)实例:
 代码如下:

 

html代码

jquery代码
$("#toggle").toggle(
function() {
alert("第一次点击");
},
function() {
alert("第二次点击");
},
function() {
alert("第三次点击");
},
function() {
alert("第四次点击");
});

三、事件委派中也只有两个方法,live()和die()两个方法,这两个方法是1.3版本之后才新增的,之前的版本是没有的。live()可以理解成元素组事件委派方法,比如li元素用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用,而无需重新给这种新增加的元素绑定事件,在编写树形插件的时候相当有用。die()方法就很好解释,用来解除live()绑定的方法。
  live(type,fn):live()中type参数目前只支持click, dblclick, mousedown, mouseup, mousemove, mouseo教程ver, mouseout, keydown, keypress, keyup事件。实例如下

 代码如下:

html代码:

页面加载
事件绑定
事件委派
事件切换

jquery代码:
$("li").live("click", function() {
var index = $("li").index(this);//获取li的索引
var text = $("li").eq(index).text();//根据单击项索引获得文本值
alert("索引:" + index + ",文本值:" + text);
});

die([type],[fn]):die()使用起来相当简单,一种删除所有live()事件,一种指定删除,两个参数是可选的。
 代码如下:
$("#die").click(function() {
$("li").die(); //删除所有live()事件
$("li").die("click");//删除指定为click的live()事件
$("li").die("click", function() { alert("删除live()事件成功") });//删除指定为click的live()事件并执行函数
});

本文来源:http://www.gdgbn.com/wangyezhizuo/28138/