2013-06-26 3 views
13

У меня есть этот маленький код jquery, запущенный на jquery 1.10.1, то, что я хочу сделать, это в основном консольный журнал событий зависания на зависании над классом li dash_item, но он работает только, когда я нажимаю элемент, а не на hoverjquery hover работает только на событие click?

КОД:

$(document).ready(function(){ 
    $('.dash_item').on({ 

     mouseenter: function(){ 
     console.log("im here"); 
     }, 

     mouseleave: function(){ 
     console.log("im out"); 
     } 
    }); 
}); 

jsfiddle здесь http://jsfiddle.net/JQAw3/

+2

Он работает по наведению для меня , используя Chrome, какой браузер вы используете? –

+0

им пользуюсь хром, но я просто попробовал на мозилле, и он работает, это очень странно – unknown

+0

Это работает для меня на firefox – ODelibalta

ответ

0

Вы можете попробовать функцию JQuery парения(). Он принимает обработчикIn и handlerOut.

+1

Метод .hover() связывает обработчики для событий mouseenter и mouseleave. Вы можете использовать его для простого применения поведения к элементу в течение времени, в течение которого мышь находится внутри элемента. Другими словами, нет никакой разницы. – j08691

+0

Я знаю, но это более простая функция для добавления imo. – CWitty

+0

@CWitty, тогда это должен быть комментарий, а не ответ :) –

0

прекрасно работает с парением

http://jsfiddle.net/blackjim/JQAw3/4/

$('.dash_item').hover(
    function() { 
     console.log("im here"); 
    }, 
    function() { 
     console.log("im out"); 
    } 
); 
+0

Как и в случае с ответом CWitty, наведите указатель мыши только на указатель мыши и мыши. – j08691

+0

Да, я согласен, но это меньше кода. Так как он хочет справиться с обоими случаями здесь. – AntouanK

34

Кажется, ошибка Google Chrome, который может произойти, если у вас есть веб-сайт, открытого в течение длительного времени, в том числе инструментов Dev.

У меня были те же проблемы, я старался все, что мог.

В итоге упрощен перезапуск браузера.

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

Edit 2015-06-15: я сталкиваюсь с этой проблемой каждый раз, когда я работаю над mouseenter и mouseleave в Chrome. Для меня достаточно просто закрыть вкладку и открыть веб-сайт в другом.

+1

Этого недостаточно, чтобы открыть его на другой вкладке. Мне пришлось убить браузер. Спасибо! –

+4

Подтвержден перезапуск. Потратил час на это, но вы, вероятно, спасли меня целый день! –

+1

Это сработало ... так странно! – iluvpinkerton

0

Оставив это здесь, в случае, если кто-то еще обрушится на это. В начале 2015 года это все еще «особенность» в хроме/хроме, где, если страница просматривается как файл (НЕ подается с веб-сервера), события мыши, такие как mouseenter, mouseleave, mouseover и т. Д., Не срабатывают. Не знаю, был ли это вопрос OP, но был моим, когда я наткнулся на это.

0

Нет, это не делает - те же проблемы с висения как MouseEnter

Я имел инструменты для разработчиков открытых в течение некоторого времени

открыл страницу в Firefox, и она работала