Я пытаюсь сделать это на простом английском языке: у меня есть открытый div из события mouseover, когда я вынимаю мышь из div, он закрывается при выходе мыши, отлично. Что мне нужно, так это то, что когда я убираю мышь, если я перехожу к div с классом x или классом y, openDiv не закрывается, любое отключение мыши на любом другом div, кроме класса x или класса y, приведет к закрытию openDiv.
Вот что у меня есть до сих пор, но это не работает:
$("#openDiv").mouseout(function () {
var $c = $(e.target); //div where mouse is
if ($c.is('div.x') || ('div.y')) //if div where mouse is has class x or y
{
$("#openDiv").show(); //show or keep open from the mouseover event
} else {
$("#openDiv").hide(); //hide openDiv if mouse is anywhere outside openDiv or div with class x or y
}
});
ОБНОВЛЕНИЕ: мне нужна дополнительная помощь, чтобы выбрать рабочий ответ! jsfiddle.net/bUzPG/8 При наведении курсора на класс x, y или z он остается открытым, при наведении курсора на x или z openDiv становится розовым, но при наведении курсора за пределами openDiv он также становится розовым, тогда как он должен стать серым и скрыть его. Любая идея, как заставить его стать серым и спрятаться?
.is()
. Используйте запятую..is('div.x, div.y')
- person mrtsherman   schedule 27.06.2011openDiv
никогда не вернет x или y (если только они не назначены самому openDiv). - person mrtsherman   schedule 28.06.2011