昨天在通过jsp页面引入jquery后发现一个问题。js代码在jquery引入后,js代码无作用的情况。
jsp引入jquery的时候,出现的一个问题。引入的成功后jquery可以使用
但是这样写会有问题。就像下面的写法。
在script标签引入jquery后。jsp页面成功加载了jquery。但是在后面的script标签js代码会出现不能使用的情况。下面给出2中解决方案。
<head>
<script src="jquery/jquery-1.8.3.min.js">
<script>
//在这里输出console.log($) 也不会报错,页面也没输出。
</script>
</head>
1、方法一。
<head>
<script src="jquery/jquery-1.8.3.min.js">
<script>
//增加一个延迟
setTimeout(function(){
console.log($)
}, 100);
// 为什么要这样写呢? 因为 页面加载是没问题的。只是两个script标签同时执行。让后面的js代码延迟一定时间那个这个时候 jquery就会全部加载在 你所写的js代码之前。
//这样写的确有输出。
</script>
</head>
2、方法二。
<head>
<script src="jquery/jquery-1.8.3.min.js">
<script>
//这里什么都不要写。只留一个空白的script标签
</script>
</head>
<body>
<script>
console.log($)
//这个时候$会有输出。
//如果你问我为啥这样写。我感觉原理可能跟第一个差不多。同样可以解决后面的js代码无输出的情况
</script>
</body>
以上两种方法都可以解决 在jsp页面中引入jquery后 后面的js代码被阻断的问题。
如果有更好的解决方案,也可以告诉我哦。谢谢。
探讨在JSP页面中引入jQuery后,后续JS代码失效的现象及两种解决方案:使用setTimeout延迟执行或在<body>标签内执行JS代码,确保jQuery完全加载。

1492

被折叠的 条评论
为什么被折叠?



