Как проверить, что мышка над элементом? - PullRequest
0 голосов
/ 02 июня 2009

Знаете ли вы, как проверить, находится ли мышь над элементом?

Что-нибудь подобное?

setTimeout(function() {
    if($(this).mouseover()) {  // this not work
        return false;   
    } else {
        $(this).hide();
    }
}, 1000);

Спасибо.

Ответы [ 3 ]

2 голосов
/ 02 июня 2009

Вы можете использовать что-то вроде этого:

var isMouseOver = false;

$(myitem).hover(function() {isMouseOver = true;}, 
                function() {isMouseOver = false;});
1 голос
/ 02 июня 2009

Я предполагаю, что вы работаете в закрытии, где 'this' представляет отдельный элемент:

var mouseovered = false,
    myElem = this;

$(myElem)
    .mouseover(function(){
        mouseovered = true;
    })
    .mouseout(function(){
        mouseovered = false;
    });

setTimeout(function() {
   if(mouseovered) {  
        return false;   
    } else {
        $(myElem).hide();
    }
}, 1000);

Обратите внимание, что я использую myElem вместо ключевого слова this, которое в контексте обратного вызова setTimeout будет ссылкой на объект Window - очевидно, не то, что вам нужно

0 голосов
/ 02 июня 2009

Используйте событие onmouseover в рассматриваемом элементе, чтобы вызвать функцию, чтобы скрыть рассматриваемый элемент (поскольку это, кажется, то, что вы хотите сделать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...