我遇到这个奇怪的问题,这让我有点疯狂。我有一个MVC 5项目,它有一个局部视图,当点击一个按钮时会出现一个模态。问题是,我必须连续两次单击该按钮才能触发局部视图方法。显然,当我使用$(document)
作为选择器来触发事件时会导致这种情况。否则它工作正常。我必须使用$(document)
作为选择器,因为我动态生成按钮并使用任何其他选择器不会注册点击处理程序。
这是我的模态容器:
<div id="modal-container" class="modal fade"
tabindex="-1" role="dialog">
<div class="modal-content">
</div>
</div>
这里是触发事件按钮的html:
<a class="modal-link" href="/Customer/EditGroup/@item.Customer_Group_Code">
<img src="~/images/editIcon.png" alt="Edit" />
</a>
我调用的jQuery方法如下所示:
$(document).on('click', '.modal-link', function (e) {
e.preventDefault();
$(this).attr('data-target', '#modal-container');
$(this).attr('data-toggle', 'modal');
});
这里是视图的控制器方法:
public ActionResult EditGroup(int id)
{
ViewBag.id = id;
return PartialView("_EditGroup");
}
答案 0 :(得分:0)
将return false;
添加到您的命令中。这应该做好修复。
$(document).ready(function() {
$(document).on('click', '.modal-link', function (e) {
e.preventDefault();
$(this).attr('data-target', '#modal-container');
$(this).attr('data-toggle', 'modal');
return false;
});
});