我正在使用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>
OnSuccess回调我调用一个函数'enableZoom‘。只要它在视图页的脚本标记中,它就能工作。但是,当我将enableZoom函数移到custom.js文件时,OnSuccess回调无法找到或调用它。
<script>
function enableZoom() {
$("#divImage").zoom({
on: "grab",
magnify: "1"
});
}
</script>
PS:我的custom.js文件正在成功加载(通过firebug确认),而且custom.js还有其他功能,而且正在工作。有什么线索/帮助会很感激吗?
发布于 2015-05-28 18:31:54
尝试在单独的js文件中使用以下内容。由于您使用的是Jquery函数,所以需要确保Jquery在Js文件之前加载。
MyNamespace = {} || MyNamespace();
MyNamespace.EnableZoom = function() {
$("#divImage").zoom({
on: "grab",
magnify: "1"
});
};
您应该能够通过MyNamespace.EnableZoom()调用此函数。
OnSuccess = "MyNamespace.EnableZoom“
试试看。祝好运。
https://stackoverflow.com/questions/30510450
复制相似问题