1

我正在使用 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 回调我调用一个函数'enableZoom'。只要它在视图页面的脚本标签内,它就可以工作。但是当我将 enableZoom 函数移动到 custom.js 文件时, OnSuccess 回调找不到或调用它。

<script>
    function enableZoom() {
        $("#divImage").zoom({
            on: "grab",
            magnify: "1"
        });
    }
</script>

PS:我的 custom.js 文件正在成功加载(通过 firebug 确认),并且 custom.js 也有其他功能并且可以正常工作。任何线索/帮助将不胜感激?

4

1 回答 1

0

尝试在单独的 js 文件中使用以下内容。由于您使用的是 Jquery 函数,因此您要确保在 Js 文件之前加载 Jquery。

MyNamespace = {} || MyNamespace();
MyNamespace.EnableZoom = function() {
    $("#divImage").zoom({
            on: "grab",
            magnify: "1"
        });
};

您应该可以通过MyNamespace.EnableZoom()调用此函数

OnSuccess = "MyNamespace.EnableZoom"

试试看。祝你好运。

于 2015-05-28T18:31:54.610 回答