onClick bind to Url.ActionLink只在第一次工作

本文关键字:第一次 工作 ActionLink bind to Url onClick | 更新日期: 2023-09-27 18:03:26

所以我有一个Url.ActionLink,当点击时,我想加载一个部分视图到一个模态。这是第一次工作,但第二次它重定向到浏览器的部分视图,而不是加载到一个模态,和modal()调用有一个错误,说它是undefined

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>
到目前为止绑定/加载的代码是:
$(".actionLink").on("click", function (e) {
        e.preventDefault();
        $("#modalBody").load(e.target.href);
        $("#modal").modal('show');
        return false;
    });

我在重定向之前得到的错误是在$("#modalBody").load(e.target.href);上,错误是"Uncaught TypeError: undefined is not a function."它是第一次点击链接,所以我不知道为什么它第二次是未定义的。

onClick bind to Url.ActionLink只在第一次工作

.on()类型的绑定只适用于脚本初始化之前创建的元素。
因此,如果在on click函数中动态加载一些内容,on()绑定将无法对该内容起作用。
一种解决方案是,将click事件绑定到容器元素,在容器元素中加载新内容,像这样:

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


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