jQuery - программно запускающее событие - PullRequest
3 голосов
/ 23 апреля 2010

Мне нужно программно вызвать событие click, которое обрабатывается jQuery. Вот текущий код:

var $thumbs = $('#PhotoGalleryThumbs .tile');
var $zoom = $('#PhotoGallery #PhotoGalleryZoom img');
var $description = $('#PhotoGallery #PhotoGalleryDescription');

$thumbs.click(function(event) {
    event.preventDefault();
    var $thumb = $(this);
    $thumb.addClass('selected')
        .siblings().removeClass('selected');
    $zoom.attr('src', $thumb.children('a').attr('href'));
    $description.html($thumb.find('img').attr('alt'));
});

У меня есть умственный блок, решающий, как создать функцию из кода обработки событий, а затем произвольно вызвать ее для элемента в $thumbs объекте.

Ответы [ 2 ]

5 голосов
/ 23 апреля 2010
$thumbs.click();

Это вызовет событие щелчка. Это то, что вы ищете?

2 голосов
/ 23 апреля 2010

Аналогично предыдущему предложению

$($thumbs[7]).click();

вы можете использовать

$thumbs.eq(7).click();

Для пояснения, индексирование массива в коллекцию jQuery дает вам элемент DOM в этой позиции, тогда как .eq(n) дает вам новый объект jQuery, который ссылается только на индексированный элемент.

http://api.jquery.com/eq/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...