2015-11-11 2 views
1

У меня есть, что я надеюсь, будет простым вопросом. Я новичок в jQuery и JavaScript в целом.Применение обработчика события jQuery для всех элементов одного типа

Я пытаюсь написать простой обработчик событий jQuery, который будет выделять ли на моей странице, когда я на них курю. Я пробовал:

$('li').on('mouseover', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

и не работает. Это не приводит к ошибке, но результата нет.

Однако, если я пытаюсь что-то вроде:

$(document).on('mouseover', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

Я могу выделить какой-либо элемент DOM Я хочу при наведении указателя мыши.

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

+0

Изменить evt.target к этому –

+0

Для динамического использования контента: '$ (document) .on ('yourevent', 'yourelement', function() {}' –

ответ

0

Try делегировании до документа, как так, так как вы ориентируетесь динамическое содержание:

$(document).on('mouseover', 'li', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

Вам может понадобиться прочитать эту Event Delegation.

+0

Это сделало! Спасибо :) –

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