Показать сообщение отдельно
  #4 (permalink)  
Старый 13.07.2015, 18:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Валерий1996
// обращаемся к селектору с класом "preview_news" вызываем функцию on при срабатывании события "mouseover" для тега "h2" , вызываем анонимную функцию
$('.preview_news').on('mouseover', 'h2', function() {

Нет. Вообще-то .on() называется методом, и в данном случае, он не вызывается....

Это означает - методом .on() определить "делегирование" обработки события onmouseover на элементе H2 его родительскому элементу с классом "preview_news". Ну и в других случаях подобное.

$(this).css({'text-decoration':'underline'}); - это не обязательно текущее свойство, да это вообще и не свойство, такого стиля элементу может быть и не определено на текущий момент, это или изменение существующего стиля, если есть, или добавление.

А вообще так лучше не писать - методично для каждого случая, а так:

$('.preview_news').on('mouseover', 'h2', function() {
    $(this).css({'text-decoration':'underline'});
})
.on('mouseout', 'h2', function() {
    $(this).css({'text-decoration':'none'});
})
.....


либо:

$('.preview_news').on('mouseover mouseout', 'h2', function(e) { //или использовать метод .hover()
    $(this).css({'text-decoration': e.type=='mouseover' ? 'underline' : 'none'});
})
.....


То есть можно сразу определить родителю обработку множества событий.
Ответить с цитированием