html - 通过 AJAX(jquery modal)将页面内容加载到模式中
问题描述
我正在尝试使用 jquery modal ( https://jquerymodal.com/ ) 创建一个模态。我想通过 AJAX 将页面内容加载到模式中(如示例 4 中所述)。我尝试了下面的代码,但它没有显示模态。
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" />
</head>
<body>
<a href="modal.html" rel="modal:open">example</a>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.2/jquery.modal.min.js"></script>
</body>
</html>
模态的.html
<div class="modal">
<p>Second AJAX Example!</p>
</div>
解决方案
尝试更改调用jQuery文件的位置并将其放置在head标签中
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" />
</head>
然后给链接标签一个ID
<a href="ajax.html" id="manual-ajax">second example</a>
然后将脚本添加到 DOM 的底部(在关闭 body 标签之前)
<script>
// Open modal in AJAX callback
$('#manual-ajax').click(function(event) {
event.preventDefault();
this.blur(); // Manually remove focus from clicked link.
$.get(this.href, function(html) {
$(html).appendTo('body').modal();
});
});
</script>
推荐阅读
- pdf - 更改 PDF 阅读器中的 Firefox 后退按钮以带您返回上一个网页而不是 PDF 的第一页
- python-3.x - 使用 Pytest 进行单元测试时断言值 None 错误
- jenkins - 在 Jenkins Pipeline 的一个步骤中添加多个阶段
- java - 将 Java 7 更新为 Unlimited Strength Jurisdiction Policy 有哪些潜在问题?
- vue.js - 通过 Vue Router 渲染 html 文件
- python - 为什么在将 GridSearchCV 与随机森林回归器一起使用时,每次运行时都会得到不同的调整参数?
- python - 保留以某些文本字符串开头的行
- java - 带有文件协议的 Jmeter HTTP 请求没有占用所有文件
- firebase - 如何禁止使用 Firestore 规则更新某些字段?
- react-native - 如何使用 defaultNavigationOptions 中设置的自定义导航标题访问屏幕组件中定义的 navigationOptions