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."
它是第一次点击链接,所以我不知道为什么它第二次是未定义的。
.on()类型的绑定只适用于脚本初始化之前创建的元素。
因此,如果在on click函数中动态加载一些内容,on()绑定将无法对该内容起作用。
一种解决方案是,将click事件绑定到容器元素,在容器元素中加载新内容,像这样:
$("#container").on("click", ".actionLink", function(e) { ... });
事件处理程序仅绑定到当前选定的元素;它们必须在您的代码调用。on()时存在于页面上。jQuery .on() doc