如何为元素调用click()

How to call click() for element?

本文关键字:click 调用 元素      更新时间:2023-09-26

我正在使用一个lightgery插件,其中click事件定义为:

$(document).on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) {
    self.start($(event.currentTarget));
    event.preventDefault();
});

但是,当我尝试像这样调用事件时:

$(".catalog-content a[data-lightbox='test']").first().trigger('click');

…这似乎行不通。我做错了什么?如何触发click事件?

例子jsFiddle

要使用jQuery"模拟点击",您可以使用.trigger(...)方法:

$(".myClass").trigger("click");

真正的问题是你正在"点击"一些不存在的东西。没有 ".catalog-content a[data-lightbox='test'元素。正如Velthune建议的那样,您可以将.catalog-content类添加到div容器中来解决这个问题;但是,请注意也没有a[data-lightbox='test']元素。

相反,在您的Fiddle中定义以下内容:

<a href="http://..." data-lightbox="350xi" id="test">
    something
</a>

所以你只需要点击第一个a元素,data-lightbox属性为"350xi":

$("a[data-lightbox='350xi']").first().trigger("click");

嘿,我已经浏览了jsfiddle并更新了,请浏览一下。

$(document).ready(function() { 
    $(".cars-container a[rel!='']").click(function() {
        var rel = $(this).attr("rel"); 
        $(".cars-container a[data-lightbox='" + rel + "']:first").trigger('click');
    });
});

单击下面的jsfiddle链接查看工作示例:-http://jsfiddle.net/wHJ8E/3/

你的代码在fiddle不能工作

1)按照Devendra的建议使用不同的选择器。
2)或者将.catalog-content类添加到div容器中:

<div class="cars-container catalog-content"> 

小提琴

我和Devendra都不明白。