У меня есть скрипт контекстного меню psuedo на моей веб-странице. Идея состоит в том, что скрипт проверит, имеет ли элемент, над которым вы наводите курсор, определенный класс. Если это так, он устанавливает строковую переменную в определенное значение. Таким образом, при нажатии Ctrl я могу проверить содержимое строковой переменной, чтобы определить, какое контекстное меню должно быть скрыто.
var cmEl = "";
$('div').live('mouseover', function(e){
e.stopPropagation();
var actEl = $(this);
if (actEl.hasClass("B_Info")) {
var cmEl = "BiP";
} else if (actEl.hasClass("BiO")) {
var cmEl = "BiO";
} else if (actEl.hasClass("myOpt")) {
var cmEl = "myOpt";
} else {
var cmEl = "GEN";
}
$("#tell").html("" + cmEl + "");
});
$(document).keydown(function(e) {
if (e.ctrlKey) {
if (cmEl.match('BiP')) {
$("#Badge_C_M").removeClass("HIDE");
$(this).remove();
} else if (cmEl === "BiO") {
$("#Opt_C_M").removeClass("HIDE");
} else if (cmEl === "myOpt") {
$("#Count_C_M").removeClass("HIDE");
} else {
$("#Gen_C_M").removeClass("HIDE");
}
}
});
По показаниям html я вижу, что переменная действительно устанавливается на желаемые значения, но последняя часть, определяющая, какое меню отображать, не работает.
Также мой первый скрипт проверяет только div, но я бы хотел, чтобы он проверял любой тип элемента; или хотя бы divs и imgs.