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