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");
})

猜你喜欢

转载自www.cnblogs.com/chenyingjie1207/p/10030765.html