<a> 上的 jQuery 单击事件触发两次

标签 jquery asp.net-mvc-4

我有一个点击事件被调用两次,但我不明白为什么。

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/

相关文章:

javascript - 如何在将 ajax 发送到 php 后关闭页面重新加载以及如何修复此代码

css - 如何在中心显示图像和文本 float 到图像 css

json - IHttpActionResult 返回 Json 对象

javascript - 在 MVC 中 Ajax.BeginForm 的 onBegin 方法中使用 jQuery 表单验证器

javascript - 如何从Jquery验证SignalR集线器

javascript - Highcharts 图表不可见

jquery - 控制音量并在点击时播放 .mp3 (div)

javascript - Jquery限制文本字段中的文本复制安全

ajax - Select2 4.0.0 无法选择结果

javascript - 如何解决 dgrid 中的 DefineAlreadyDefined 问题?