jQuery源码分析之blur focus focusin focusout load resize scroll unload click dblclick等方法
来源:互联网 发布:淘宝童装女孩 编辑:程序博客网 时间:2024/06/04 17:54
blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu源码如下:
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {// Handle event bindingjQuery.fn[ name ] = function( data, fn ) {return arguments.length > 0 ?this.on( name, null, data, fn ) ://如果调用时候传入的只有一个函数,那么data就是这个函数,在on方法里对他进行调整!this.trigger( name );};});
注意:从上面的代码可以知道,给on函数传递的第二个参数是null,也就是这些方法的API不能传递selector进行代理!
hover方法源码:
hover: function( fnOver, fnOut ) {return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );}总结:这些函数接受两个参数,一个是额外数据一个是回调函数。如果不传入参数,那么就是触发调用对象的所有的同类型方法,否则就是为调用对象添加事件!注意on方法底层调用的是jQuery.event.add方法!如果是添加函数那么调用时候可以获取到添加事件的所有属性!参见点击打开链接
(1)回调函数中this指向当前元素!,也就是currentTarget。apply( matched.elem, args )是在dispatch里面的源码,但是因为这里用的是apply而不是call,所以直接把args逐个封装到回调函数中。这个args只有一个参数args[0]=event所以这里回调函数中唯一一个参数就是event,同时可以通过event.data获取数据,通过delegateTarget获取代理对象BODY。通过handleObj可以获取通过add方法添加的事件的所有信息,也就是通过add方法里面添加的handleObj所有属性!同时可以通过currentTarget获取当前所在的元素!总之一句话:在该回调函数中可以获取这个调用事件的所有的信息!
0 0
- jQuery源码分析之blur focus focusin focusout load resize scroll unload click dblclick等方法
- jquery笔记:事件 focusin, focusout,scroll, select
- jquery方法focusin/focusout的使用
- jquery 的focusin跟focusout方法的使用
- jQuery 事件 keypress click mouseover blur load
- jQuery源码分析之load方法
- js, jq执行 focus后focusout和click事件冲突
- 小议JQuery中focus()和focusin()区别
- 页面事件有load, beforeunload, error, resize, scroll, unload,传说它们明确地处理整个页面的函数和状态。
- 【jQuery】事件 dblclick() 方法
- jQuery focus和blur事件
- jQuery focus和blur事件
- jquery focus在click等事件中失效
- jQuery中focusin()和focus()、find()和children()的区别
- jquery文本框的focus和blur事件
- 【jQuery】文本框的focus和blur事件
- 【JQuery】文本框的focus和blur事件
- JQuery中focus()与blur()焦点事件
- HTTP POST 通讯 CURL模拟POST进行URL 通讯
- Java-Cookie源码
- 面试:创新工场,淘宝等面试题--09/2015
- 浅析Easyui Datagrid的Rownumber行号显示
- Java方法调用时传递参数问题
- jQuery源码分析之blur focus focusin focusout load resize scroll unload click dblclick等方法
- python 调用java 简单例子
- Java类的初始化
- poj 3009
- python 自己写的计算工资的小程序
- 锐浪报表列排序(按指定顺序输出)
- Android SlidingTabLayout底部选项卡槽Tab水平居中
- Javascript的this用法
- RadioButton的坑