Как я игнорирую события от нажатия мыши на дочерних элементах в jQuery?

Попробуйте использовать унарный оператор плюс :

if (+actualamt > +amt) {
  //...
}

22
задан Stephen Belanger 19 April 2009 в 22:43
поделиться

3 ответа

Кажется, я нашел ответ на свой вопрос. Для тех, у кого может быть такая же проблема; попробуйте этот код вместо. Кажется, что hover не всплывает в дочерние элементы, как другие события мыши.

jQuery('#menu li').hover(
    function() {
        jQuery(this).children('ul').show('fast');
        return false;
    },
    function() {
        jQuery(this).children('ul').hide('fast');
        return false;
    }
);
34
ответ дан 29 November 2019 в 03:43
поделиться

Используйте «event. stopPropagation ()», чтобы остановить всплытие событий вверх:

  jQuery('#menu li a').mouseover( function(evt) {
       evt.stopPropagation();
       return false;
  });
  jQuery('#menu li a').mouseout( function(evt) {
       evt.stopPropagation();
       return false;
  });

В качестве альтернативы используйте mouseenter и mouseleave события вместо наведения мыши / выхода. jQuery нормализует их поведение в браузерах, и эти события имеют преимущество, что они не всплывают ...

14
ответ дан 29 November 2019 в 03:43
поделиться

Use css classes to distinguish the different menu levels. You can then easily search for one class or the other in your jQuery selectors.

1
ответ дан 29 November 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: