jQuery-入口函式,$衝突問題
阿新 • • 發佈:2018-11-28
jQuery-入口函式,$衝突問題
原生js和jQuery載入模式不同
- 原生js會等DOM載入完成,圖片等資源也載入完成再執行;
- jQuery會等DOM載入完成,但不會等圖片等資源載入完成就會執行。
多個入口函式
- 原生js如果編寫了多個入口函式,後面編寫的會覆蓋前面編寫的。
window.onload = function(e){
console.log("hello1");
}
window.onload = function(e){
console.log("hello2");
}
//hello2
2.jQuery的入口函式如果編寫了多個,後面寫的不會覆蓋前面的。
$(document).ready(function(){
console.log("hello1");
})
$(document).ready(function(){
console.log("hello2");
})
//hello1
//hello2
jQuery入口函式的其他寫法
- 第一種寫法
$(document).ready(function(){
console.log("hello1");
})
- 第二種寫法
jQuery(document).ready(function(){ console.log("hello1"); })
- 第三種寫法
$(function(){
console.log("hello1");
})
- 第四種寫法
jQuery(function(){
console.log("hello1");
})
jQuery衝突問題
如果引入了多個框架,並其他框架也引入了$的衝突解決辦法:
- 1.釋放$的使用權;
- 2.自定義一個訪問符號。
//解決方法: //1.釋放$的使用權; //注意點:釋放操作必須在編寫其他jQuery程式碼之前編寫,釋放之後就不能再使用$,改用jQuery。 jQuery.noConflict(); jQuery(function(){ alert("hello"); }) //2.自定義一個訪問符號 var jq = jQuery.noConflict(); jq(function(){ alert("hello"); })