如何使用jQuery或mootools触发a标签的本地(href)点击?

3
在jQuery中,trigger('click')click()似乎只会触发onclick事件。我想模拟点击一个没有onclick事件的a标签。
我的目标是在进入页面时显示一个灯箱。灯箱附加在一个需要被点击的a标签上。
有什么想法吗?

Alex,我之前使用的插件有点太复杂了,不能直接调用...我找到了一个轻量级的灯箱插件,可以直接使用,叫做Slimbox,问题解决了。感谢你的建议。 - eakkas
6个回答

2

不过,就MooTools而言,至少回答你最初的问题:你可以通过以下方式模拟点击/触发处理它的函数(如果有):

$("someid").fireEvent("click");

1
 //I use, when want show image in lightbox by original image or thumbnails list   

 //simulate click on lightbox image by click another place with same image url (hack pro kliknuti na spravne url lightboxu)
$('#simulate_click').click(function(event){

    //get url from simulate link (zjistime url odkazu)
    var odkaz = $(this).attr("href");

    //look for real lightbox link with the same url (najdeme lightbox odkaz)
    var lightOdkaz = $('#rc-carousel ul li a[href="'+odkaz+'"]');

    //simulate clik on that lightbox link (klikneme na nej)
    lightOdkaz.trigger("click");

    //stop propagation of click on original link (zabranime propagaci)
    return false;
     //event.stopPropagation();
    });

1
如果您在评论中使用英语,对我们来说会更容易。 - Bo Persson

1

onclick事件是唯一的。如果它一路冒泡而没有被停止,它将带您到链接的位置。

您可能需要一些东西来阻止它冒泡。您可以使用return false;e.preventDefault()来阻止表单提交,并且您可以使用e.stopPropagation()e.stopImmediatePropagation()来阻止它冒泡。

很有可能,有一种方法可以激活lightbox插件,而不必“虚拟点击”链接。


0
尝试这样做:
window.location = $('a#go').attr('href')

0
解决了。Slimbox对于mootools支持直接调用灯箱功能,无需链接。

0

大多数灯箱都支持通过JavaScript启动它们,以及通过链接点击。Slimbox绝对是一个不错的灯箱,很好的选择!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接