我使用MVC5。我正在使用不显眼的Ajax.ActionLink()从列表加载图像。下面是示例代码:-
<ul class="list-group list-unstyled lists">
@foreach (var item in Model)
{
<li>
@Ajax.ActionLink(@item.Name,
@item.Action,
"Home",
new {id = @item.Id },
new AjaxOptions
{
UpdateTargetId = "divImage",
InsertionMode = InsertionMode.Replace,
HttpMethod = "GET",
OnSuccess = "enableZoom"
})
</li>
}
</ul>
我调用一个函数'enableZoom'。只要它位于视图页面的script标记内,它就可以工作。但是当我将enableZoom函数移动到custom.js文件时,OnSuccess回调无法找到或调用它。
<script>
function enableZoom() {
$("#divImage").zoom({
on: "grab",
magnify: "1"
});
}
</script>
PS:我的custom.js文件正在成功加载(通过firebug确认),custom.js也有其他功能,并且正在工作。如有任何线索/帮助将不胜感激。
尝试在单独的js文件中使用以下代码。因为你正在使用Jquery函数,你需要确保Jquery在你的Js文件之前被加载。
MyNamespace = {} || MyNamespace();
MyNamespace.EnableZoom = function() {
$("#divImage").zoom({
on: "grab",
magnify: "1"
});
};
你应该能够通过 mynamespaces . enablezoom ()
调用这个函数OnSuccess = "MyNamespace。"EnableZoom "
试一试。好运。