推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
miniwade514

使用 jquery.colorbox 时遇到的作用域问题,虽然解决了但没弄明白

  •  
  •   miniwade514 · Feb 7, 2014 · 5724 views
    This topic created in 4659 days ago, the information mentioned may be changed or developed.
    我感到奇怪, $ 和 window.$ 不是同一个东西?
    11 replies  •  1970-01-01 08:00:00 +08:00
    emric
    emric
    Feb 7, 2014
    1
    例一传进去的对象并不包括$.
    $在window身上但没有在当前作用域声明, 使用$前应该`var $=window.jquery`.
    ---
    组织了语言几分钟, 好像还是不能够很清晰的表达出来... (泪)
    bombless
    bombless
    Feb 7, 2014
    2
    目测楼主是两次引入一个全局的$变量…
    按这个思路检查一下吧…
    sapjax
    sapjax
    Feb 7, 2014
    3
    目测楼主是在my.js中的某个位置(你调用colorbox()之前),重新给$变量赋值了,否则不应该出现这种情况
    kevinkim
    kevinkim
    Feb 7, 2014
    4
    @emric +1
    lz传递的是window对象而已,并没有$,如果非得只传个window,那么里面请用window.$(function(){...})
    zzNucker
    zzNucker
    Feb 7, 2014
    5
    你应该是更改过$变量了,否则jquery应该是会把$主动写到全局变量里去的。
    miniwade514
    miniwade514
    OP
    Feb 8, 2014 via Android
    6
    @sapjax my.js里面没有对$赋值,就直接拿来用的。但是这之前引用了jquery.colorbox.js ,它只是插件,应该不会给$ 赋值啊。
    miniwade514
    miniwade514
    OP
    Feb 8, 2014 via Android
    7
    @emric 我以为全局的 $ 不用声明啊,那两段代码的区别就是有没有把全局的 $ 传进去,全局的我以为不传也能用啊。。
    我语言组织得也很吃力。。-_-#
    sapjax
    sapjax
    Feb 8, 2014
    8
    @miniwade514 如果是在my.js外改写了$的话,那么你传全局的$进去,也没有用的,所以从你的代码片段来看,一定是在my.js中对$进行了赋值
    miniwade514
    miniwade514
    OP
    Feb 8, 2014
    9
    sapjax
    sapjax
    Feb 9, 2014
    10
    @miniwade514 额,那就不清楚了,按理说jquery.colorbox.js引入之后,$.fn就有了colorbox方法,如果后面没改写的话,应该不会出现你的报错。
    或者在jquery.colorbox.js引入到页面ready这段时间,$可能被改写,colorbox方法可能被删除,但是这种情况,你传$进去,也是解决不了的啊...
    FrankFang128
    FrankFang128
    Feb 9, 2014 via Android
    11
    你 console.log($===window.$)不就知道了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   909 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 21:16 · PVG 05:16 · LAX 13:16 · JFK 16:16
    ♥ Do have faith in what you're doing.