Сведения о вопросе

Fedya

05:13, 22nd August, 2020

Теги

jQuery   Google   Chrome    

JQuery не устанавливает атрибуты onmouseover и onmouseout в google chrome?

Просмотров: 280   Ответов: 2

На событие onload вешается функция которая уменьшает большие изображения на странице.


При наведении курсора мыши картинка должна становится оригинального размера. Если делать так

$(this).attr({
        width: width_resized,
        onmouseover: '$(this).attr("width", ' + width + ');',
        onmouseout: '$(this).attr("width", ' + width_resized + ');'    
});


то в лисе и опере работает отлично, а в хроме устанавливается только ширина.

$(this).attr("onmouseover", '$(this).attr("width", ' + width + ');');


Так тоже не работает.


В чем может заключаться проблема?



  Сведения об ответе

baggs

18:41, 15th August, 2020

Проблема в том, что вы пользуетесь нестандартным для jQuery API, которое он не может поддерживать.

Правильно это делать так:
$(this)

    .width(width_resized)

    .mouseover(function () {

        $(this).width(width);

    })

    .mouseout(function() {

        $(this).width(width_resized);

    });


  Сведения об ответе

repe

07:54, 22nd August, 2020

Дело в том что вы устанавливаете атрибут и отсюда некорректная работа в разных браузерах.
Вот в этой статье есть ответ DOM: свойства VS атрибуты.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться