c# - onClick 绑定(bind)到 Url.ActionLink 仅在第一次有效

标签 c# javascript asp.net-mvc razor

所以我有一个 Url.ActionLink,当单击它时,我想将部分 View 加载到模式中。这第一次有效,但第二次它将浏览器重定向到分部 View 而不是将其加载到模态中,并且 modal() 调用出现错误,指出它是 未定义

div 的 html 是:

        <div class="modal fade" id="modal">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-body" id="modalBody"></div>
                </div>
            </div>
        </div>

到目前为止,绑定(bind)/加载的代码是:

$(".actionLink").on("click", function (e) {
        e.preventDefault();
        $("#modalBody").load(e.target.href);
        $("#modal").modal('show');
        return false;
    });

我在重定向之前遇到的错误是在 $("#modalBody").load(e.target.href); 上,错误是 "Uncaught TypeError :未定义不是一个函数。”第一次点击链接时它会起作用,所以我不知道为什么第二次它会是未定义的。

最佳答案

.on() 类型的绑定(bind)仅适用于在脚本初始化之前创建的元素。
因此,如果您在单击函数中动态加载某些内容,则 on() 绑定(bind)将不适用于该内容。
一种解决方案可能是将单击事件绑定(bind)到容器元素,在其中加载新内容,如下所示:

     $("#container").on("click", ".actionLink", function(e) { ... });


“事件处理程序仅绑定(bind)到当前选定的元素;当您的代码调用 .on() 时,它们必须存在于页面上” jQuery .on() doc

关于c# - onClick 绑定(bind)到 Url.ActionLink 仅在第一次有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660828/

相关文章:

javascript - mustache 填充 JSON 对象错误

c# - 最小起订量模拟和跟踪 session 值

C# 字符串操作

c# - .NET Process 的重要途径不止一条

javascript - JavaScript 中的条件组合

javascript - 插值 nvd3 时 LineWithFocusChart 溢出

javascript - 获取所有以某个字符串开头的JS变量

asp.net-mvc - ASP.NET WebApi + Autofac 找不到 ApiController

c# - 为什么我所有的 log4net 级别都是错误的?

c# - Monotouch C# 通过音量控制同时播放多种声音