我有一个链接:

<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 ">


当前回答

如果你试图在锚上触发一个事件,那么你所拥有的代码将工作,我在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。:)

其他回答

因为这个问题在谷歌中排名第一,因为“触发对< >元素的点击”,并且没有答案提到你是如何做到这一点的,所以你可以这样做:

$('#titleee a')[0].click();

解释:你触发了对底层html元素的点击,而不是jquery对象。

欢迎你的谷歌人:)

最短的回答:

$('#titlee a').click();

好吧,你必须先设置点击事件,然后你可以触发它,看看会发生什么:

//good habits first let's cache our selector
var $myLink = $('#titleee').find('a');
$myLink.click(function (evt) {
  evt.preventDefault();
  alert($(this).attr('href'));
});

// now the manual trigger
$myLink.trigger('click');

使用您提供的代码,您不能期望发生任何事情。我第二@mashappslab:首先添加一个事件处理程序:

$("selector").click(function() {
    console.log("element was clicked"); // or alert("click");
});

然后触发事件:

$("selector").click(); //or
$("selector").trigger("click");

您应该会在控制台中看到该消息。

如果你试图在锚上触发一个事件,那么你所拥有的代码将工作,我在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。:)