簡體   English   中英

如何調用此JS函數並傳遞參數?

[英]How do I call this JS function and pass a parameter through?

我的SignalR集線器具有以下腳本,並且在調用函數時遇到麻煩,因此無法傳遞參數。

$(function () {
    var hub = $.connection.commentsHub;

    $.connection.hub.start().done(function () {
        function deleteComment(commentId) {
            hub.server.DeleteComment(commentId);
        }
    });
});

然后在我的注釋列表中,我試圖以此調用我的deleteComment函數,但出現錯誤,指出未定義deleteComment。

<a onclick="deleteComment(@item.CommentId)">Delete</a>

如何調用我的deleteComment函數?

還是有更好的方法將參數傳遞給我的服務器?

您的deleteComment()函數隱藏在其他函數的兩層中,因此內聯JavaScript無法訪問它。 我建議(1)從done回調中刪除它,因為沒有理由將其放在其中,以及(2)為此使用不引人注目的JavaScript:

HTML:

<a href="#" class="delete-comment" data-commentid="@item.CommentId">Delete</a>

JavaScript的:

$(function () {
    var hub = $.connection.commentsHub;

    function deleteComment(commentId) {
        hub.server.DeleteComment(commentId);
    }

    $.connection.hub.start().done(function () {
        $(".delete-comment").click(function() {
            deleteComment($(this).attr("data-commentid"));
        });
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM