我有以下JQuery代码:-

 $('.rpItem').on("click", "img", function (e) {
    alert('here');
    var text = $(this).siblings('span.rpText').text();
    e.preventDefault();
    e.stopPropagation();

    var args = {
        reportName: text
    };
    $.ajax({
        type: "POST",
        url: "Dashboard.aspx/AddToFavourites",
        data: JSON.stringify(args),
        contentType: "application/json;charset=utf-8;",
        success: function (data) {
            __doPostBack('#MainMenuUP', text);
            //__doPostBack('<%= MainMenuUP.ClientID %>', text);
        },
        error: function () {
        }
    });
});


$("#reports_textSearch").keyup(function () {
    var textLength = $(this).val().length;
    delay(function () {

        if (textLength == 0) {
            emptySearchString();
        }

        if (textLength > 2) {
            var args = {
                reportName: document.getElementById('reports_textSearch').value
            };
            doSearchString(args);
        }
    }, 1000);

});

function doSearchString(args) {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "Dashboard.aspx/FetchReports",
        data: JSON.stringify(args),
        dataType: "json",
        success: function (data) {
            //__doPostBack('#MainMenuUP', data.d);
            __doPostBack('<%= MainMenuUP.ClientID %>', data.d);
        },
        error: function (data) {
        }
    });
}


并第一次可以正常工作。但是,回发后,doSearch继续正常工作,而

$('.rpItem').on("click", "img", function (e) {


失败。它甚至没有经过该代码。

我试图更换

__doPostBack('<%= MainMenuUP.ClientID %>', data.d);




__doPostBack('<%= MainMenuUP.UniqueID %>', data.d);


但这只会刷新我不想要的页面。

任何帮助将不胜感激!

谢谢

最佳答案

将您的选择器更改为此:

$('body').on("click", ".rpItem img", function (e) {
    // your code
});

09-28 03:32