我有一个点击事件被调用两次,但我不明白为什么。
Razor/Html:
<li class="active">
<a href="#" class="listitem">@Model[i].Name</a>
<span style="display:none" class="id">@Model[i].ID</span>
</li>
^ 这是包含多个列表项的 for
循环内部。
JQuery:
$(".listitem").on("click", function () {
var id = $(this).siblings("span").html();
$.ajax({
url: '@Url.Action("SelectItem", "Home")',
type: "POST",
data: $("#form").serialize() + "&id=" + id,
success: function (result) {
$('#partialView').html(result);
}
});
});
^ 处理列表项的点击。
对我的 Controller 的 Ajax 调用会刷新部分 View 。我的 js
包含在部分 View 中并刷新,但我不明白为什么它会导致该事件被调用两次(通常第二次 id 是 undefined
) 。也许我只是犯了一个我没有看到的简单错误?
我知道关于点击事件被调用两次有很多问题,但我认为我的情况可能有所不同,足以值得提出一个问题。我也没有看到很多很好的答案。
最佳答案
我认为您可能在函数末尾缺少 return false 。如果没有它,浏览器也会点击a。
关于<a> 上的 jQuery 单击事件触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22018357/