zoukankan      html  css  js  c++  java
  • 对jquery的conflict方法的解读

    源码:

    noConflict: function( deep ) {
        if ( window.$ === jQuery ) {
            window.$ = _$;
        }
    
        if ( deep && window.jQuery === jQuery ) {
            window.jQuery = _jQuery;
        }
    
        return jQuery;
    },
    引入jQuery类库后,闭包外面的window.$与window.jQuery都储存着一个函数,它是用来生成jQuery对象或在domReady后执行里面的函数的。
    回顾我上一篇文章,那里有写什么时候给它们进行赋值。在还没有把function赋给它们时,_jQuery与_$已经被赋值了,因此它们俩的值一定必然是undefined。
    因此这种放弃对$和jQuery的控制权的技术很简单,就是用undefined把window.$里面的jQuery系的函数清除掉,这样别的框架就可以使用它们了。
    在window.$ = _$。相当于是window.$ = undefined。
    如果连你的程序也有一个叫jQuery的东西呢,jQuery可以大方地连这个也让渡出去,这时就要为noConflict添加一个布尔值,为true。
    但我们必须用一个东西要接纳jQuery对象与jQuery的入口函数,闭包里面的东西除非被window等宿主对象引用,否则就是不可见的,因此我们把闭包里面的jQuery return出去,外面用一个变量接纳就是。
  • 相关阅读:
    深度优先搜索
    哈希算法
    双指针问题
    基本概念
    Ionic JPush极光推送二
    一条sql获取每个类别最新的一条记录
    Ionic App 更新插件cordova-plugin-app-version
    Ionic跳转到外网地址
    Ionic cordova-plugin-splashscreen
    Web API 上传下载文件
  • 原文地址:https://www.cnblogs.com/zzcflying/p/2630168.html
Copyright © 2011-2022 走看看