javascript - 使用 AJAX 和 TWIG 显示模式时 JavaScript 无法正常工作
问题描述
我遇到了 Javascript 问题。创建 Javascript modal 函数,使用 AJAX 获取其内容,innerHTML 函数将内容放入 modal。模态显示内容没有问题,但 Javascript 在其中不起作用。当我检查元素时,它显示...具有我需要的所有功能,但这不起作用。我使用树枝模板机来渲染页面和模态,所以也许它会导致这个问题?
// index.php where modal shows up
echo $twig->render(...);
// Modal function
function openModal() {
const request = new XMLHttpRequest();
request.open('post', 'modalfile.php');
request.onload = function () {
document.querySelector('.modal-content').innerHTML = request.response;
}
request.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send();
document.querySelector('.overflow').style.visibility = 'visible';
document.querySelector('.modal').style.visibility = 'visible';
}
// modalfile.php
echo $twig->render(...);
如果我是对的并且 Javascript 问题导致 Twig - 是否有可能解决该问题?或者可能是其他问题?
解决方案
如果我没有误解,您需要将侦听器绑定到不属于 ajax 呈现的 html 的父标记。
查看jQuery on()。
对我来说,我有时会像这样绑定到 body 标签(如有必要):
$('body').on('click', '.mySelector', myHandler);
这只是我谦虚的解决方案。如果您需要更多详细信息,请查看: 动态创建元素上的事件绑定?
推荐阅读
- mysql - 在mysql中使用if和else语句结果作为变量
- c++ - 使用 exipg 实用程序生成的 staticEXIOptions.c
- vpn - 如何在连接到 VPN 之前更改 IP
- powershell - 如何使用 cmd/batchscript 在 gpedit.msc 中编辑某些内容
- oracle - 尝试在交互式报告中添加列时出现错误 ORA-00904
- reactjs - 如何在传单地理搜索中使用以 1 为界的视图框?
- c# - 在 Azure Function 上获取数据时,HttpClient.GetAsync() 会出现 AggregateException
- sql - 计算合并到 PostgreSQL 中单个列的特定“日期”的累积总和
- python - python代码删除双引号字符串之间的空格
- javascript - 如何使用 jsPDF 为 PDF 文档中的动态数据添加自定义字体?