1. 程式人生 > >jQuery-入口函式,$衝突問題

jQuery-入口函式,$衝突問題

jQuery-入口函式,$衝突問題

原生js和jQuery載入模式不同

  1. 原生js會等DOM載入完成,圖片等資源也載入完成再執行;
  2. jQuery會等DOM載入完成,但不會等圖片等資源載入完成就會執行。

多個入口函式

  1. 原生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入口函式的其他寫法

  1. 第一種寫法
$(document).ready(function(){
    console.log("hello1");
})
  1. 第二種寫法
jQuery(document).ready(function(){
    console.log("hello1");
})
  1. 第三種寫法
$(function(){
    console.log("hello1");
})
  1. 第四種寫法
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");
})