我使用的是lightgallery插件,其中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
答案 0 :(得分:1)
使用jQuery“模拟点击”,你是正确的,你可以使用.trigger(...)
方法:
$(".myClass").trigger("click");
真正的问题是您“点击”不存在的内容。 没有 ".catalog-content a[data-lightbox='test'
元素。正如Velthune建议的那样,您可以将.catalog-content
类添加到div
容器中以解决此问题;但请注意,也没有a[data-lightbox='test']
元素。
相反,在你的小提琴中你定义了以下内容:
<a href="http://..." data-lightbox="350xi" id="test">
something
</a>
因此,您实际上只想点击第一个a
元素,其data-lightbox
属性为“350xi”:
$("a[data-lightbox='350xi']").first().trigger("click");
答案 1 :(得分:0)
嘿,我已经通过了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/
答案 2 :(得分:0)
你的小提琴代码无效。
1)使用Devendra建议的其他选择器
2)或者将.catalog-content
类添加到div
容器中:
<div class="cars-container catalog-content">
<强> Fiddle 强>
3)Devendra和我都无法理解。