Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   this указывает на ul, а не на li (https://javascript.ru/forum/misc/62921-ukazyvaet-na-ul-ne-na-li.html)

Maine 06.05.2016 22:57

this указывает на ul, а не на li
 
Всем привет!
Вопрос в следующем. Пытаюсь сделать галерею в форме списка. При нажатии на изображение срабатывает функция g.showPreview, но в this попадает весь ul вместо отдельных li. Как это исправить?

<section class="portfolio_section">
	<div class='portfolio'>
            <ul class='pictures'>
                <li><img src='images/gallery/1.jpg' class='picture_image' src='' alt='Leo'></li>
                <li><img src='images/gallery/2.jpg' class='picture_image' src='' alt='Jake'></li>
                <li><img src='images/gallery/3.jpg' class='picture_image' src='' alt='Jennyfer'></li> 
                <li><img src='images/gallery/4.jpg' class='picture_image' src='' alt='James'></li>
                <li><img src='images/gallery/5.jpg' class='picture_image' src='' alt='Natalie'></li>
                <li><img src='images/gallery/6.jpg' class='picture_image' src='' alt='Portman'></li>
            </ul>
	</div>
</section>


g.showPreview = function() {
         var picture = $(this);
         g.display(picture);
         g.current = g.pictures.index(picture);
    }


g.display = function(oPicture) {
        var smallPic = oPicture.find('.picture_image');
        var smallPicSrc = smallPic.attr('src');
        g.previewImage.attr('src', smallPicSrc);
        g.previewText.html(smallPic.attr('alt'));
        g.preview.addClass('preview_shown');
    }

yazonnile 06.05.2016 23:08

смотря как повешен обработчик события

Maine 06.05.2016 23:51

g.pictures = g.find('.pictures');
g.pictures.click(g.showPreview);

Maine 06.05.2016 23:51

разобралась
обработчик повешен на g.pictures, а это и есть ul
Спасибо! :)


Часовой пояс GMT +3, время: 12:39.