问题描述:
jQuery跟其它的JavaScript框架(如Prototype)一块使用时,会有关于“$”冲突的问题。
问题解决:
方法一:http://blog.youkuaiyun.com/gyd1/archive/2009/05/26/4218708.aspx
方法二:http://blog.youkuaiyun.com/noside/archive/2009/07/30/4393822.aspx, 这里提到了Prototype的 EasyValidation, 它怎么用?
关于方法二,有如下两个思考:
1, 它使用了“var jQuery=$;”, 这种方式是把$又指向了一个新的变量jQuery,也就是说$还是存在的,那么为什么在后面的Prototype中不会再有冲突发生了?
2, 顺着思考,再看jQuery的源码, 有如下两行:
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
源码里的noConflict方法中,有window.$ = _$;, JavaScript中这样的颠倒有什么特殊意义?