我有以下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
});