Я использую это всплывающее меню JavaScript в моем проекте ASP.NET Web Forms: http://jsfiddle.net/o8x59caz/4/Ajax отключить плагин всплывающего меню
Этот код работает отлично, пока я не вызвать функцию JavaScript, которая содержит Ajax код. И эта функция и то, что указано в скрипке, не имеет отношения или общих тегов (или классов тегов) между ними. Но всякий раз, когда я называю эту функцию Ajax, она отключает всплывающее меню, и ничего не происходит, когда я нажимаю кнопку, отображающую это всплывающее меню. Но до того, как элемент управления достигнет этой функции Ajax, это всплывающее меню работает нормально. Я попытался проверить консоль браузера, но он не показывает никаких ошибок или предупреждений. Ниже приводится код моей функции Ajax:
var curevaldiv, ecount = 0;
function SaveAll() {
var gifurl = '<data url of gif animation';
var evalDivs = $("div.evld");
if (evalDivs.length > 0) {
evalDivs.html("<img src='" + gifurl + "' alt='Please wait. ' style='height:35px'/> <span style='font-size: medium'>Evaluating...</span>");
var i; var infoids = '';
for (i = 0; i < evalDivs.length; i++) {
curevaldiv = evalDivs[i];
infoids = infoids + curevaldiv.dataset.infoid + ';';
}
SendToServer(3,
{ "InfoIDs": infoids },
null,
function (data) {
if (data.rstat != -1) {
var infoid, infoval;
var infovals = data.rhtml.split(';');
for (var j = 0; j < infovals.length; j++) {
infoid = infovals[j].split(':')[0];
infoval = infovals[j].split(':')[1];
$('#val' + infoid).html("<i class='fa fa-calculator'></i> <span class='counter'>" +
(infoval == "[ERROR]" ? "<font color='red'><small><i class='fa fa-exclamation-circle'></i> ERROR</small></font>" : infoval) +
"</span>");
}
ecount++;
}
else
curevaldiv.innerHTML = "<font color='red'><small><i class='fa fa-exclamation-circle'></i> ERROR</small></font>";
},
function() {
curevaldiv.innerHTML = "<font color='red'><small><i class='fa fa-exclamation-circle'></i> ERROR</small></font>";
});
}
}
SendToServer()
функция утилита, созданная мной, чтобы избежать снова и снова писать общие параметры Ajax.
Пожалуйста, помогите! Эта проблема делает мою голову тяжелой в течение последних трех дней. :(
Возможно ли, что вы заменяете части вашего всплывающего меню с результатами вызова AJAX? – tvanfosson
@tvanfosson Я проверил его с помощью Firefox и IE Inspect Element, но после вызова Ajax я не нашел замены в всплывающем меню. –
Я бы попробовал использовать модификации поддерева Chrome 'Break on>, чтобы убедиться, что всплывающее меню не получилось каким-то образом манипулировать. Мое первое предположение заключалось в том, что вы как-то нарушаете DOM. Трудно сказать, не видя остальной код. – eck