WEB开发网
开发学院网页设计JavaScript Jquery源码分析---Event分析 阅读

Jquery源码分析---Event分析

 2010-09-14 13:36:25 来源:WEB开发网   
核心提示: Hover则是建立在bind的基础之上,//每次点击后依次调用函数,Jquery源码分析---Event分析(4),toggle : function(fn) {var args = arguments, i = 1;while (i < args.length)//每个函数分配GU

Hover则是建立在bind的基础之上。

//每次点击后依次调用函数。
toggle : function(fn) {  
var args = arguments, i = 1;
while (i < args.length)//每个函数分配GUID
    jQuery.event.proxy(fn, args[i++]);//修改后的还在args中
return this.click(jQuery.event.proxy(fn, function(event) {//分配GUID     this.lastToggle = (this.lastToggle || 0) % i;//上一个函数      event.preventDefault();//阻止缺省动作
    //执行参数中的第几个函数,apply可以采用array-like的参数
    return args[this.lastToggle++].apply(this,arguments)||false;
  }));
  },

Toggle中参数可以是多个fn。先把它们代码生成UUID。之后调用click的方法来注册再次进行代理的callback。这个函数在事件触发时运行,它先计算上一次是执行了参数中的那个函数。之后阻止缺省动作。之后找到下一个函数运行。

//为jquery对象增加常用的事件方法
jQuery.each(
  ("blur,focus,load,resize,scroll,unload,click,dblclick,"
  + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"
+ "submit,keydown,keypress,keyup,error").split(","),
function(i, name) {jQuery.fn[name] = function(fn) {
         return fn ? this.bind(name, fn) : this.trigger(name);
       };});

Jquery增加了一个常用的事件处理方法,包含上面调用的click。这里可以看出这里还是调用bind进行注册。当然这里还可以通过程序实现去触发事件。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Jquery 源码 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接