2011-02-23 3 views
0

Есть ли какое-либо свойство javascript, чтобы проверить, находится ли кнопка на hover. Это мне нужно, потому что, когда мышь уже завис на кнопке, я бы выполнил конкретную задачу.Как проверить, находится ли кнопка на hover

Я вижу событие onMouseOver, но не имеет свойства, чтобы проверить, не виден ли мышь.

Может кто-нибудь, пожалуйста, помогите мне, как я могу продолжить это.

+2

Вы можете установить переменную/атрибут элемента для '' true' на onMouseOver' и 'false' на 'onMouseOut'. Таким образом, вы можете в любой момент проверить атрибут элемента, чтобы проверить, находится ли в данный момент мышь. – pimvdb

ответ

3

Попробуйте это (jQuery). Это грязно, но вы получите идею:

http://jsfiddle.net/sRsK3/1/

<input type="text" value="test"><input type="button" value="test"> 

<div id="div">-</div> 

с:

$(function(){ 
    $('*') 
     .data('hovering', false) 
     .mouseover(function(){$(this).data('hovering', true)}) 
     .mouseout(function(){$(this).data('hovering', false)}); 
    }); 

window.setInterval(function() { 
    $('#div').html("Textbox currently hovered: " + 
        $('input[type="text"]').data('hovering')); 
}, 100) 
+0

зависание не является допустимым атрибутом HTML. – StuperUser

+3

Вы правы, но кого это волнует? Это прекрасно работает, если честно. – pimvdb

+1

W3C заботится. Вы можете добавить зависание как класс и использовать '.addClass',' .removeClass' и '.hasClass'. – StuperUser

0

Я знаю, что вы не отметили этот вопрос как jQuery. но он предлагает hover как событие

+1

'.hover()' - это функция, которая обрабатывает обработчики событий, а не событие. – StuperUser

-1

onMouseOver запускает событие, вы можете установить переменную, а затем прочитать состояние переменной из других частей вашего кода. Для простоты я также предлагаю использовать jQuery's "hover" event.

+1

'.hover()' - функция, которая обрабатывает обработчики событий, а не событие. – StuperUser

Смежные вопросы