jquery.event 研究学习之bind篇(续 一 )
下面是继续刚刚的学习研究。
这里整个是个大的参数处理器。
1 /*
2 * one 不多说了。这里直接传个1过去。。上面分析过了。
3 *
4 */
5 one = function( types, selector, data, fn ) {
6 return this.on.call( this, types, selector, data, fn, 1 );
7 };
8 /*
9 * 解除绑定。和绑定很类似了。。
10 *
11 */
12 off= function( types, selector, fn ) {
13 //如果types本身就是个事件这个部分必须配合绑定来分析。所以我先预览下。。
14 if ( types && types.preventDefault && types.handleObj ) {
15 //这里是它设置的一个以及默认的参数测试 确认。
16 // ( event ) dispatched jQuery.Event |-->通过jquery分发的方法。
17 var handleObj = types.handleObj;
18 //获取标志|class jquery提供了这样的方式绑定
19 jQuery( types.delegateTarget ).off(
20 //这是那个事件对应的对象
21 handleObj.namespace? handleObj.type + "." + handleObj.namespace : handleObj.type,
22 //这就是绑定的那个事件的class 了。。
23 //注意这里的构造。可以没这个class这class可是唯一的
24 // 和CSS 是不一样的。可以理解为设置了ID或者是标示
25 handleObj.selector,
26 handleObj.handler
27 );
28 return this;
29 }
30 if ( typeof types === "object" ) {
31 //和绑定的时候似的,一次解除多个。
32 // ( types-object [, selector] )
33 for ( var type in types ) {
34 //直接遍历 解除。
35 this.off( type, selector, types[ type ] );
36 }
37 return this;
38 }
39 if ( selector === false || typeof selector === "function" ) {
40 //根本不是live形态的绑定。那么就把这个 从新整理参数。这里和前面的ON类似了。
41 // ( types [, fn] )
42 fn = selector;
43 selector = undefined;
44 }
45 if ( fn === false ) {//依旧是触发false;
46 fn = returnFalse;//源代码是 returnFalse = function(){return false};
47 }
48 return this.each(function() {
49 //最后把这些放到真正的解除函数 -->remove里。
50 jQuery.event.remove( this, types, fn, selector );
51 });
52 };
整个就象上次说的一样。传到了。add reomve处理最后的结果。我们是不是也可以对复杂问题进行内部处理然后再到主要函数呢?呵呵 ,我正慢慢的学习这样做自己的函数呢。。
-------无代码,生活不完美
开始 到结束 只是那么个过程。结束了 就忘记吧。
分类:
javascript learn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库