gpt4 book ai didi

javascript - 为什么这个 JavaScript 正则表达式替换会破坏这个 jQuery 代码?

转载 作者:行者123 更新时间:2023-11-28 05:14:55 25 4
gpt4 key购买 nike

我需要在页面加载时运行此 JavaScript:

document.body.innerHTML = document.body.innerHTML.replace(/\} \}/g, '}}');

我还需要这个 jQuery 在页面加载时运行(处理我的侧边栏):

$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});

这适用于侧边栏(放置在 </body> 之前):

<script>$(document).ready(function() {
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});
});</script>

但是如果我添加这样的正则表达式行:

<script>$(document).ready(function() {
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});
document.body.innerHTML = document.body.innerHTML.replace(/\} \}/g, '}}');
});</script>

正则表达式有效,但侧边栏位停止工作。这是因为我混合了 JavaScript 和 jQuery 吗?我该如何解决这个问题?

最佳答案

您正在替换文档正文,因此您的绑定(bind)会丢失。

$(document).ready(function() {
// change body
document.body.innerHTML = document.body.innerHTML.replace(/\} \}/g, '}}');
// then bind to new body
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});

});

关于javascript - 为什么这个 JavaScript 正则表达式替换会破坏这个 jQuery 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com