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 に答える