關于“并且在導入另一個導致沖突的庫之前使用” 的一點疑問
aron 好
“這個函數必須在你導入jQuery文件之后,并且在導入另一個導致沖突的庫之前使用?!?以上課件的高亮句子, 這句話是不是有點不準確,
這邊前半句話, 這個函數必須在你導入jQuery文件之后, 這個可以理解,導入jQuery后,才能使用$.noConflict().
我這邊疑問是后半句話,“并且在導入另一個導致沖突的庫之前使用”,這邊應該可以在導入另一個導致沖突的庫之后使用吧。
比如
<script type="text/javascript" src="other.js"></script>
<script type="text/javascript" src="jquery-2.0.3.js"></script>
<script type="text/javascript">
? ?$.noConflict()
</script>
假設上面的other.js 也是使用的$,比jQ先導入,但是 $.noConflict() 這個執行后,不是可以把之前保存好的_$ 賦值給window.$ 嗎?
這邊是不是把“并且在導入另一個導致沖突的庫之前使用。”改為 “并且在使用($('xxx'))另一個導致沖突的庫之前使用”
2014-12-24
我們先看看$.noConflict()方法
在加載jquery的時候做了一個動作?_$ = window.$; ?保存了當前的$的引用為_$, 因為此時可能上一個script腳本可能存在$的命名空間。所以在當前加載的時候就保存起來了
我們調用的時候就干了一件事
把當前的jquery的命名空間$ 替換成_$,達到了交換的目的,可能話沒有表述清楚
2014-12-24
恩 這個交換的過程明白。