jQuery 模拟使用链接属性在页面加载时单击链接



我正在使用Wordpress并在一个图库网站上工作,其中主页有一个小部件,显示添加到图库页面的最新图像。

图库页面显示所有图像,当您单击图像时,它会打开一个灯箱以查看图像,同时保留在图库页面上。它通过检查链接上的特定类来执行此操作,如果存在,则打开灯箱。如果没有,它只是像往常一样到达链接指向的任何位置。

我希望单击主页小部件中的预览图像的用户转到图库页面,然后在灯箱中打开该图像。我已经取得了进展,但我目前被困在一个非常具体的问题上......

如果用户手动单击链接,浏览器会"看到"调节是否在灯箱中打开的类,但是如果我使用 jQuery 模拟用户单击该链接,它看不到该类,因此灯箱不会打开,而是将用户直接发送到图像。

有没有办法真正模拟浏览器点击页面加载,考虑到链接上的属性,例如链接类?

如果没有,还有其他方法可以做到这一点吗?

编辑 - 这是我用来完成到目前为止我所拥有的 jQuery

<script type='text/javascript'>
jQuery(document).ready(function() {
jQuery("a[href$='someimage.jpg']")[0].click();
});
</script>

这是它正在处理的链接

<a href="someimage.jpg" class="foobox" target="_self" rel="available-works- 
figures"><img width="150" height="150" 
src="someimage.jpg" class="pt-cv-thumbnail" alt=""></a>

lighbox插件检查链接是否具有"foobox"类,如果有,它将在灯箱中打开。如果没有,它就不会 - 只是像链接一样打开。

当jQuery触发时,它似乎忽略了链接上的类"foobox",因为它也只是作为普通链接打开,直接转到图像,而不是像有人实际点击链接时那样在灯箱中显示它。

希望这能更好地解释正在发生的事情。

你试过jquery的文档就绪事件吗

https://api.jquery.com/ready/

$( document ).ready(function() {
// Handler for .ready() called.
});

您可以在文档就绪中使用触发器方法。

https://api.jquery.com/trigger/

$( "#foo" ).on( "click", function() {
alert( $( this ).text() );
});
$( document ).ready(function() {
$( "#foo" ).trigger( "click" );
});

最新更新