У меня есть страница, где есть div, которые имеют 2 типа (маршрутизатор и коммутатор), дифференцированные по атрибуту 'type'.Я хочу иметь разные меню, когда я щелкаю их правой кнопкой мыши.Итак, что я сделал, это получил все div с типом router, используя селектор jquery, и перебрал их, чтобы связать контекстное меню.Проблема, с которой я сталкиваюсь, заключается в том, что когда я щелкаю правой кнопкой мыши по пункту меню, который, в свою очередь, вызывает модальное диалоговое окно jquery для этого идентификатора div, теперь, если я вызываю то же самое меню в другом div, то диалоговое окно также вызывается для первого идентификатора div.Код:
function createMenu() {
var divList = $("div[type^='Router']");
for ( var i = 0; i < divList.length; i++) {
// alert(divList[i].id);
$("#" + divList[i].id).contextMenu({
menu : 'routerMenu'
}, function(action, el, pos) {
var name = $(el).attr('name');
if(action == 'dialog') {
alert(name);
invokeDialog(name,'Router');
}
});
}
var divList = $("div[type^='Switch']");
for ( var i = 0; i < divList.length; i++) {
// alert(divList[i].id);
$("#" + divList[i].id).contextMenu({
menu : 'switchMenu'
}, function(action, el, pos) {
var name = $(el).attr('name');
if(action == 'dialog') {
alert(name);
invokeDialog(name,'Switch');
}
});
}
}
Например, есть два div одного типа «Маршрутизатор» с идентификаторами id1 и id2.Сначала я нажимаю на id1, я получаю предупреждение с именем id1.Затем я нажимаю на id2, я получаю предупреждение id1, а затем id2.Кто-нибудь знает, что я делаю не так?