我有一个链接:
<ul id="titleee" class="gallery">
<li>
<a href="#inline" rel="prettyPhoto">Talent</a>
</li>
</ul>
我试图通过使用:
$(document).ready(function() {
$('#titleee').find('a').trigger('click');
});
但这并不奏效。
我也试过:$('#titleee a').trigger('点击');
编辑:
我实际上需要触发这里调用的任何东西<a href="#inline" rel=" pretyto ">
抱歉,事件处理程序确实不需要。您所需要的是标签中的另一个元素。
<a id="test1" href="javascript:alert('test1')">TEST1</a>
<a id="test2" href="javascript:alert('test2')"><span>TEST2</span></a>
Jquery:
$('#test1').trigger('click'); // Nothing
$('#test2').find('span').trigger('click'); // Works
$('#test2 span').trigger('click'); // Also Works
这一切都是关于你点击什么,它不是标签,而是它里面的东西。不幸的是,裸文本似乎不被JQuery识别,但它是由香草javascript:
document.getElementById('test1').click(); // Works!
或者通过将jQuery对象作为数组访问
$('#test1')[0].click(); // Works too!!!
如果你试图在锚上触发一个事件,那么你所拥有的代码将工作,我在jsfiddle中重新创建了一个添加的eventHandler,这样你就可以看到它的工作:
$(document).on("click", "a", function(){
$(this).text("It works!");
});
$(document).ready(function(){
$("a").trigger("click");
});
您是试图通过单击锚点来引导用户导航到网页上的某个点,还是试图触发绑定到它的事件?也许您实际上没有成功地将单击事件绑定到事件?
也:
$('#titleee').find('a').trigger('click');
等价于这个:
$('#titleee a').trigger('click');
不需要调用find。:)