Наведение курсора и мыши в цикле

Мы используем плагин jquery tiptip для отображения всплывающих подсказок, страница динамическая.

Код отлично работает для ie8 и firefox, но в ie7 он входит в бесконечный цикл, и я получаю предупреждение об ошибке памяти. Код есть,

    $('a[toolTip]').live('mouseover', function(e) {
        $(this).tipTip({attribute:"toolTip"});          
        $(this).trigger('mouseenter'); 

    });

Мы используем подсказку в качестве атрибута для подсказки. Когда я удаляю триггерную строку ввода кода мыши, он работает и в IE7, но не при первом наведении, а только при втором. Вот почему я добавил следующую строку кода

$(this).trigger('mouseenter'); 

Пожалуйста, помогите мне исправить этот бесконечный цикл в IE7.

С уважением Хари

2 ответа

Подсказка работает при втором наведении, поскольку атрибут при первом наведении не установлен. Бесконечный цикл происходит, потому что вы снова запускаете событие мыши в обработчике, что не должно быть сделано. Проходя по сайту плагина tiptip, способ инициализации плагина:

 $("a[toolTip]").tipTip({"attribute":"tooltip"});

Это в свою очередь вызовет автоматически, когда вы наводите курсор на элемент. Не нужно отдельно прикреплять события мыши для элементов.

Взглянул на документацию. Кажется, что самый простой способ достичь этого.

$('a[toolTip]').tipTip({'activation' : 'hover'});

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

Другие вопросы по тегам