0

我想在单击带有链接的锚 html 标记时更改 jquery 中变量的值,该标记也会加载新页面,但是当我单击该锚标记时,会加载新页面但变量值没有更改。

我在互联网上查看,发现这是由于 jquery 的异步特性造成的。

这是我的代码:-


var req;
$(document).ready(function(){
    $('header').load("navbar.html");
    $('footer').load("footer.html");
    $('#veg-caterer').click(function(){
        req = "c1";
    });
});


在上面的代码中,当我在更改req#veg-caterer的值之前单击时会加载新的 html 页面

我正在使用警报检查其他页面上 req 的值,它显示未定义这里是代码:-

$(document).ready(function(){
    alert(req);
});

我试过使用URL 获取参数setTimeout但我也面临同样的问题。我知道它的基本但我对 jquery 和 js 有点陌生。请解释你的答案

我的主要动机是在单击带有链接的锚标记时将值传递给其他 js 文件

4

1 回答 1

1

你可以在点击事件上做一个preventDefault,然后在你设置好值之后手动设置页面的位置req

$('#veg-caterer').click(function(e){
    e.preventDefault();
    req = "c1";
    window.location = e.currentTarget.getAttribute('href');
});
于 2020-10-03T07:01:06.880 回答