模态框无法弹出的问题

问题起因:

昨晚写到了一个模态框,用到了bootstrap和jquery,依赖的js已经复制到项目中,并在Jsp页面上进行了引用,最初的引用如下:

<srcipt src="$${pageContext.request.contextPath }/js/jquery-3.3.1.min.js"></srcipt>
<link href="$${pageContext.request.contextPath }/css/bootstrap.min.css" rel="stylesheet" />
<script src="$${pageContext.request.contextPath }/js/bootstrap.min.js"></script>

问题描述:

模态框无法正常弹出,使用浏览器查看资源看不到引用的Jquery,bootstrap也因没有Js基础而报错。使用外部链接Jquery没有问题,模态框正常弹出。

问题详细:

运行tomcat之后在chrome测试发现模态框无法正常弹出,进行检查发现错误如下:

/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under the MIT license
 */
if("undefined"==typeof jQuery)throw new Error("Bootstrap‘s JavaScript requires jQuery");
//省略。。。

报错原因:Bootstrap 需要jQuery支持

检查引用顺序,jQuery确实在bootstrap之前,问题并不出在这里。。。

检查文件资源以及源码

使用${pageContext.request.contextPath }引用bootstrap正常而jQuery不正常

怀疑1:bootstrap与jQuery版本不符

但bootstrap3最低能够兼容到jQuery1.9.X,将本地连接换成相同版本的web链接

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

模态框成功弹出,检查chrome资源

怀疑2:本地jQuery资源问题

更换了相同和不同版本的jQuery均无法加载。。

尝试清理项目,重启服务器也无效。。。

今天一早起来继续修改,尝试将引用改为

<%
    String path=request.getContextPath() ;
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<link href="<%=basePath %>css/bootstrap.min.css" rel="stylesheet" />
<script src="<%=basePath %>js/jquery-3.3.1.min.js"></script>
<script src="<%=basePath %>js/bootstrap.min.js"></script>

运行检查如下:

模态框正常弹出,js加载正常,问题解决!

问题后续:

尝试恢复昨晚的写法,却无论如何都没有问题

检查发现先jQuery正常加载,bootstrap依赖正常,如图:

???????????????????????????????????????????????????????????????????????????

理解不能

如果你发现了类似错误,请不要着急,希望这篇文章可以帮到你。

原文地址:https://www.cnblogs.com/YFEYI/p/12371412.html

时间: 2024-08-29 19:02:34

模态框无法弹出的问题的相关文章

模态框的弹出(移动版)

<!DOCTYPE html><html><head lang="zh-cn"> <meta charset="UTF-8"> <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no" name="viewport"

ASP.NET MVC4中使用bootstrip模态框时弹不出的问题

最近发现使用在MVC中使用bootstrip的模态框时弹不出来,但单独建立一HTML文件时可以弹出,说明代码没有问题,经过多次测试发现,在MVC的cshtml文件中添加上以下语句就能正常 @{ Layout=null; } 虽然不知道为什么会这样,至少问题解决了.

VS2010/MFC编程(对话框:模态对话框及其弹出过程)

讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出. 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态对话框. 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互. 非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入.非模态对话框一般用来显示提示信息等. 大家对Windows系统很了解,相信这两种对话框应该都遇到过.之前的加法计算器对话框其实就是模

MFC编程入门之十一(对话框:模态对话框及其弹出过程)

加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有了些解了,有个好的开始对于以后的学习大有裨益.趁热打铁,这一节讲讲什么是对话框和非模态对话框,以及模态对话框怎样弹出. 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态对话框. 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互. 非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入.非模态对话框

(转载)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)

加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有些了解了,有个好的开始对于以后的学习大有裨益.趁热打铁,鸡啄米这一节讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出. 一.模态对话框和非模态对话框 Windows对话框分为两类:模态对话框和非模态对话框. 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互. 非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入.非

jQuery - 选中复选框则弹出提示框

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>判断是否选中</title> <script type="text/javascript" src="./js/jquery-1.8.3.min.js"></script> <script

Android 学习笔记之AndBase框架学习(二) 使用封装好的进度框,Toast框,弹出框,确认框...

PS:渐渐明白,在实验室呆三年都不如在企业呆一年... 学习内容: 1.使用AbActivity内部封装的方法实现进度框,Toast框,弹出框,确认框...   AndBase中AbActivity封装好了许多方法提供我们去使用,使得在使用的时候更加的方便,只需要传递相关参数即可..省去了我们自己使用基础的函数进行构造...   就好比进度框,Toast框,弹出框,确认框...这些基本的东西都在AndBase的AbActivity封装好了...我们只需要传递参数调用其中内部的方法就可以完成这些视

【Unity技巧】自定义消息框(弹出框)

写在前面 这一篇我个人认为还是很常用的,一开始也是实习的时候学到的,所以我觉得实习真的是一个快速学习工程技巧的途径. 提醒:这篇教程比较复杂,如果你不熟悉NGUI.iTween.C#的回调函数机制,那么这篇文章可能对你比较有难度,当然你可以挑战自我. 言归正传,消息框,也就是Message Box,在Windows下很常见,如下图: 在游戏里,我们也会用到这样的消息框.例如用户按了返回按钮,一般都会弹出一个确认退出的按钮.用户在执行某些重要操作时,我们总是希望再一次确认以防用户的无意操作,以此来

处理UIScrollView中的编辑框被弹出键盘遮挡的问题

当UIScrollView中的某一行存在编辑框时,点击编辑框,弹出的键盘有可能遮挡住编辑框,造成体验效果很不好.解决的方法很简单,就是将UIScrollView的内容和UIScrollView容器的内边距(准确来说是底边距)增加正好是键盘高度的距离,ios系统会将选中的行重新定位,位置正好是距离窗口底边相同距离的地方,当然,键盘缩回去的时候注意要把内边距再设置回来.涉及到的最主要的函数就是UIScrollView的setContentInset函数. 首先,要在程序开始的地方注册键盘弹出和缩回的