gpt4 book ai didi

jQuery ajax 请求不会在后续事件中触发

转载 作者:行者123 更新时间:2023-12-01 02:26:56 25 4
gpt4 key购买 nike

我有一个 jQuery 函数,但遇到了一个小问题:

$(function() {
$("a.CompletedCheckBox").click(function() {
if($(this).hasClass("CheckedCompletedCheckBox")) {
$(this).removeClass("CheckedCompletedCheckBox");
} else {
$(this).addClass("CheckedCompletedCheckBox");
}
$.get("/Tasks/Complete/" + this.id, "", function() {});
});
});

我第一次点击链接时,事件函数按预期工作。然而,每次我随后单击该链接时,该类都会正确切换,但 $.get 请求不会触发。

知道为什么对服务器的请求只在第一次触发吗?

编辑:这是我正在使用的标记:

<table>
<tr>
<th>
Header Text
</th>
... and so on ...
</tr>
<% foreach (var item in Model as Item[])
{%>
<tr>
<td>
<a href="#"
class='<%= "CompletedCheckBox " + (item.Complete ? "CheckedCompletedCheckBox" : "") %>'
id='<%= item.ID %>'></a>
</td>
... and so on ...
</tr>
<% } %>
</table>

编辑2:这在FireFox中工作正常,但在IE7中不行。我想在我的应用程序中支持 IE,因此我需要弄清楚为什么这不适用于 IE。

我正在从 Google ( http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js ) 加载 jQuery,如果它有什么区别的话。

最佳答案

IE 可能会缓存 $.get() 请求的结果。尝试向 get 请求的 URL 添加时间戳,如下所示:

var myDate = new Date();
var timestamp = myDate.getTime();
$.get("/Tasks/Complete/" + this.id + '?t=' + timestamp);

关于jQuery ajax 请求不会在后续事件中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/523415/

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