Как создать мышь if () над элементом в Jquery? - PullRequest
4 голосов
/ 17 марта 2010

У меня есть JS-код hover ():

$( '.leftMenuProductWrapper').hover (
            function () {



            },
            function () {


    });

Во второй функции мне нужно что-то вроде:

If ($("#leftMenuWrapper2").hasMouseover){
do this
}else{
do that};

Я не могу найти документацию о том, как это сделать.

EDIT:

Похоже, это решение:

$('#leftMenuWrapper2').mouseenter(function(){
    mouseover = true;
}).mouseleave(function(){
    mouseover = false;
});

А затем в коде, ссылка на него:

if(mouseover == false){
                doSomething
                };

Ответы [ 2 ]

12 голосов
/ 17 марта 2010

На очень высоком уровне вам нужно что-то:

  • Удерживайте логическое значение.
  • Когда мышь вызывает событие MouseOver, присвойте логическому значению значение true.
  • Когда мышь вызывает событие MouseOut, присвойте логическому значению значение false.

Все, что вам нужно сделать, это вернуть логическое значение, чтобы получить значение hasMouseOver.

0 голосов
/ 17 марта 2010

Я не совсем уверен, что вы делаете, но похоже, что вы атакуете это не с того угла.

Я предполагаю, что у вас есть несколько элементов внутри .leftMenuProductWrapper, один из которых #leftMenuWrapper2 ... Я предполагаю, что элементы, которые вас интересуют, равны <div> s (но вы можете отредактировать код, чтобы соответствовать, если они не). Попробуйте что-то вроде этого:

$('.leftMenuProductWrapper>div').hover(function(ev) {
    if ($(this).id == 'leftMenuWrapper2') {
        // do something with this one
    } else {
        // otherwise, do something else
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...