jQuery中click事件是不是必须放在$(document).ready(function(){})之中才起作用,为什么?
放在这里面和不放在这里面有何区别?
jQuery中click事件是不是必须放在$(document).ready(function(){})之中才起作用,为什么?
放在这里面和不放在这里面有何区别?
页面加载是从头到尾加载的,解析js的时候如果在js中使用的dom在这段js之前的位置没有出现那么会报错,$(document).ready(function(){})就是让你的dom加载完成之后再解析js的
$(document).ready(function(){})这句话的作用是当页面加载时执行里面的方法,跟$(function(){})是差不多的,如果你是直接写在页面上可以不用加,如果是写在公共的js文件里,就需要加上这段话,不然是不会执行的
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
有两种可能放在外面会失效,总之你监听一个click事件,监听成功的前提是这个元素在当前dom中已被加载
那么比如你的js引用在该元素出现之前就会失效,如
另一种就是可能你在页面加载完成后动态生成了某些元素,也就是说这个元素最初不在html中,此时click监听语句如果比生成语句执行的更早也会失效。
总之$(document).ready(function(){...})内部的语句会确保在dom加载完后执行,一般情况下只要你的js写在/被引用在页面尾部,而且没有动态生成的可能性的话,写在外面也无妨。