jQuery学习-事件之绑定事件(七)
今天来说说事件中的handlers方法中的一个片段
1 matches[ sel ] = handleObj.needsContext ? 2 jQuery( sel, this ).index( cur ) >= 0 : 3 jQuery.find( sel, this, null, [ cur ] ).length; 4 /* 5 这是handler是方法中过滤委托的方法。等价于 6 if(handleObj.needsContext){ 7 matches[ sel ] = jQuery( sel, this ).index( cur ) >= 0; 8 这句语句的意思是: 9 在this(这里是被绑定委托方法的元素)元素中查找sel(selector)表达式的元素, 这里返回的是数组,然后在结果数组中查找cur(触发事件元素),返回其索引值。 如果大于-1为true反之false; }else{ matches[ sel ] = jQuery.find( sel, this, null, [ cur ] ).length; 这句语句的意思是在this元素中查找符合sel表达式的元素,同时该元素存在与[cur]这个数组中, 返回数组的长度。 } 那handleObj.needsContext又是什么,请接着看下去...... handleObj.neddsContext是出现在jQuery事件add方法中的,如下: */ handleObj = jQuery.extend({ type: type,//事件类型名称 origType: origType,//事件类型名称 data: data,//自定数据 handler: handler,//事件 guid: handler.guid,//事件的guid selector: selector,//委托的selector needsContext: selector && jQuery.expr.match.needsContext.test( selector ), /* jQuery.expr.mathc.needsContext = /^[\x20\t\r\n\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\([\x20\t\r\n\f]*((?:-\d)?\d*)[\x20\t\r\n\f]*\)|)(?=[^-]|$)/i 这个判断时判断类似"p:first,p:odd .... p:eq(2),p:last[attr=xxx]等selector" * * */ namespace: namespaces.join(".") }, handleObjIn ); /* 看到上诉注释,是不是很清楚了,needsContext其实就是判断first,odd等这种快捷特殊的表达式的, 如果我们的selector="p:last"这样的,就是最后一个P元素符合条件 39 */
今天又被吊了,唉~,飘飘飘飘过了
jQuery学习-事件之绑定事件(七)的更多相关文章
- jQuery学习-事件之绑定事件(三)
在上一篇<jQuery学习-事件之绑定事件(二)>我们了解了jQuery的dispatch方法,今天我们来学习下handlers 方法: handlers: function( event ...
- jQuery学习-事件之绑定事件(二)
在上一篇<jQuery学习-事件之绑定事件(一)>我们了解了jQuery的add方法,今天我们来学习下dispatch方法: dispatch: function( event ) { ...
- jQuery学习-事件之绑定事件(一)
我们都知道jQuery的事件其思想来源于Dean Edwards的addEvent,通过源码我们知道jQuery在为元素绑定事件时,每种类型的事件(click,blur)时只绑定了一次对应类型的事件处 ...
- jQuery如何给body绑定事件?
jQuery如何给body绑定事件? 代码如下: $(document).bind("resize", function () { alert("php-note.com ...
- JQuery在循环中绑定事件的问题详解
JQuery在循环中绑定事件的问题详解 有个页面上需要N个DOM,每个DOM里面的元素ID都要以数字结尾,比如说 ? 1 2 3 <input type="text" nam ...
- jQuery相关方法7----各种事件和绑定事件
一.jQuery事件 1.鼠标事件 click与dbclick事件 click事件其实是由mousedown与mouseup 2个动作构成,所以点击的动作只有在松手后才触发 $ele.click(): ...
- jquery学习笔记(三):事件和应用
内容来自[汇智网]jquery学习课程 3.1 页面加载事件 在jQuery中页面加载事件是ready().ready()事件类似于就JavaScript中的onLoad()事件,但前者只要页面的DO ...
- jQuery学习小结1-CSS操作+事件
一.DOM对象和jQuery 对象互换 1.jQuery对象 就是通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,其可以使用jQuery里的方法.比如: $(&quo ...
- [jquery]高级篇--js绑定事件
参考: http://www.cnblogs.com/leejersey/p/3545372.html jQuery on()方法是官方推荐的绑定事件的一个方法.$(selector).on(eve ...
- jquery html 动态添加元素绑定事件
由于实际的需要,有时需要往网页中动态的插入HTML内容,并在插入的节点中绑定事件处理函数.我们知道,用Javascript向HTML文档中 插入内容,有两种方法, 一种是在写HTML代码写入JS,然后 ...
随机推荐
- div+css+javascript 走马灯图片轮换显示
效果如图 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- ng-click得到当前元素,angular.element()用法
<!DOCTYPE html> <html> <head> <title></title> <script src="lib ...
- ORACLE PL/SQL开发--bulk collect的用法 .
刚刚在inthirties老大的博客里看到这篇文章,写的不错,正好自己最近在学习PL/SQL,转过来学习学习. ============================================ ...
- XML的Schema约束
XSD文档至少要包含:schema根元素和XML模式命名空间的定义.元素定义.需要注意的是XSD中必须定义一个且只能定义一个schema根元素,根元素中包括模式的约束,XML模式命名空间的定义,其他命 ...
- 你应该知道的CSS文字大小单位PX、EM、PT[转]
摘要: 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章, 题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平 ...
- 【Sqlserver清空数据库中所有表数据】
脚本: CREATE PROCEDURE sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT AL ...
- 100个linux常用命令
1,echo “aa” > test.txt 和 echo “bb” >> test.txt //>将原文件清空,并且内容写入到文件中,>>将内容放到文件的尾部 2 ...
- _declspec(dllexport)与_declspec(dllimport)
__declspec(dllexport)2009-03-04 17:25 我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文 ...
- CDOJ 631 敢说敢做 记忆化搜索and动规
//跟沈爷学的 传送门http://www.cnblogs.com/Xiper/p/4639636.html #include<cstdio> #include<iostream&g ...
- 消息内容定义XML
<XML> <Title>title</Title> <ContentType>text/plain</ContentType&g ...