我正在使用MVC5。我正在使用Unobtrusive 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>
OnSuccess回调我调用了一个函数&#39; enableZoom&#39;。只要它在视图页面的脚本标记内,它就可以工作。但是当我将enableZoom函数移动到custom.js文件时,OnSuccess回调无法找到或调用它。
<script>
function enableZoom() {
$("#divImage").zoom({
on: "grab",
magnify: "1"
});
}
</script>
PS:我的custom.js文件已成功加载(通过firebug确认),custom.js也有其他功能,并且正在运行。任何线索/帮助将不胜感激?
答案 0 :(得分:0)
尝试在单独的js文件中使用以下内容。由于您使用的是Jquery函数,因此您需要确保在Js文件之前加载Jquery。
MyNamespace = {} || MyNamespace();
MyNamespace.EnableZoom = function() {
$("#divImage").zoom({
on: "grab",
magnify: "1"
});
};
您应该能够通过 MyNamespace.EnableZoom()
来调用此功能OnSuccess =&#34; MyNamespace.EnableZoom&#34;
试一试。祝你好运。