有人可以告诉我,为什么下面的javascript代码一次单击后会导致renewSession()被调用7次吗?$(document).ready(function () { $("*").mouseup(function () { renewSession(); });});function renewSession() { $.ajax({ url: "/Account/RenewSession", type: "POST" });} 最佳答案 可能是因为mouseup事件在DOM树中向上传播,并且您将处理程序应用于文档中的每个元素。因此,它将首先在第一个元素上触发,然后在父元素上触发,依此类推,直到到达html(或body,我永远不会不记得每次都记不清)。您可以使用:$(document).ready(function () { $("*").mouseup(function (e) { e.stopPropagation(); renewSession(); });});防止多次通话。编辑以解决thiag0的评论: 感谢您的快速响应...我想做的是每当用户单击该站点以保持会话活动时调用renewSession()。此解决方案可防止一次单击多次调用renewSession,但可防止触发用户点击的实际意图。无论如何要解决这个问题?您可以只定位body元素;只要事件被允许通过DOM树传播(只要您不对单击(或“鼠标”编辑的)元素之间的元素调用event.stopPropagation(),那么事件将传播到。因此,我建议使用:$(document).ready(function () { $("body").mouseup(function () { renewSession(); });}); 10-01 21:55